{"id":"GHSA-2g4f-4pwh-qvx6","revision":null,"records":[{"revision":"59b8aed2d1244a848fd45ea8ffff9090","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2025-69873","aliases":[],"title":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is p…","description":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is passed directly to the JavaScript RegExp() constructor without validation. An attacker can inject a malicious regex pattern (e.g., \"^(a|a)*$\") combined with crafted input to cause catastrophic backtracking. A 31-character payload causes approximately 44 seconds of CPU blocking, with each additional character doubling execution time. This enables complete denial of service with a single HTTP request against any API using ajv with $data: true for dynamic schema validation. This issue is also fixed in version 6.14.0.","state":0,"publishedAt":"2026-02-11T00:00:00+00:00","modifiedAt":"2026-09-14T12:04:32.717+00:00","affected":[{"ecosystem":"Vendor product","name":"ajv","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"defaultStatus\": \"unaffected\",\n                    \"product\": \"ajv\",\n                    \"vendor\": \"ajv.js\",\n                    \"versions\": [\n                        {\n                            \"lessThan\": \"6.14.0\",\n                            \"status\": \"affected\",\n                            \"version\": \"0\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"lessThan\": \"8.17.2\",\n                            \"status\": \"affected\",\n                            \"version\": \"7.0.0\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L","score":2.9,"severity":"LOW"}],"references":["https://github.com/advisories/GHSA-2g4f-4pwh-qvx6","https://github.com/EthanKim88/ethan-cve-disclosures/blob/main/CVE-2025-69873-ajv-ReDoS.md","https://github.com/github/advisory-database/pull/6991","https://github.com/ajv-validator/ajv/pull/2588","https://github.com/ajv-validator/ajv/releases/tag/v6.14.0","https://github.com/ajv-validator/ajv/pull/2590"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2025-69873","license":"CVE Program Terms of Use","key":"cve-program:CVE-2025-69873","identifiers":["CVE-2025-69873"]},"retained":false,"historicalAffected":[]},{"revision":"f1f386df19524e95a23ead9dff247c02","observedAt":"2026-11-13T05:26:22.393+00:00","statement":{"source":"euvd","id":"EUVD-2025-207389","aliases":["CVE-2025-69873","GHSA-2g4f-4pwh-qvx6"],"title":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is p…","description":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is passed directly to the JavaScript RegExp() constructor without validation. An attacker can inject a malicious regex pattern (e.g., \"^(a|a)*$\") combined with crafted input to cause catastrophic backtracking. A 31-character payload causes approximately 44 seconds of CPU blocking, with each additional character doubling execution time. This enables complete denial of service with a single HTTP request against any API using ajv with $data: true for dynamic schema validation. This issue is also fixed in version 6.14.0.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5,"severity":null}],"references":["https://github.com/advisories/GHSA-2g4f-4pwh-qvx6","https://github.com/EthanKim88/ethan-cve-disclosures/blob/main/CVE-2025-69873-ajv-ReDoS.md","https://github.com/github/advisory-database/pull/6991","https://github.com/ajv-validator/ajv/pull/2588","https://github.com/ajv-validator/ajv/releases/tag/v6.14.0","https://github.com/ajv-validator/ajv/pull/2590"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-207389","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Feb 11, 2026, 12:00:00 AM","dateUpdated":"Sep 14, 2026, 12:04:32 PM"},"relatedAdvisories":[{"id":"msrc_CVE-2025-69873","title":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is passed directly to the JavaScript RegExp() constructor without validation. An attacker can inject a malicious regex pattern (e.g., \"^(a|a)*$\") combined with crafted input to cause catastrophic backtracking. A 31-character payload causes approximately 44 seconds of CPU blocking, with each additional character doubling execution time. This enables complete denial of service with a single HTTP request against any API using ajv with $data: true for dynamic schema validation.","vulnerabilityIds":["CVE-2025-69873"]},{"id":"RHSA-2026:41944","title":"Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.19.20 security, enhancement & bug fix update","vulnerabilityIds":["CVE-2025-12816","CVE-2025-13465","CVE-2025-15284","CVE-2025-66031","CVE-2025-68157","CVE-2025-68458","CVE-2025-69873","CVE-2026-4800","CVE-2026-25128","CVE-2026-25896","CVE-2026-26278","CVE-2026-26996","CVE-2026-27904","CVE-2026-27942","CVE-2026-29063","CVE-2026-33036","CVE-2026-33186","CVE-2026-34986","CVE-2026-48779"]},{"id":"RHSA-2026:83619","title":"Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.16.36 security, enhancement & bug fix update","vulnerabilityIds":["CVE-2025-13465","CVE-2025-15284","CVE-2025-61726","CVE-2025-66031","CVE-2025-68157","CVE-2025-68458","CVE-2025-69873","CVE-2026-4800","CVE-2026-26996","CVE-2026-27904","CVE-2026-33186","CVE-2026-33814","CVE-2026-34986"]},{"id":"RHSA-2026:86618","title":"Red Hat Security Advisory: New container image: rhceph-9.2","vulnerabilityIds":["CVE-2023-46159","CVE-2024-47866","CVE-2024-48916","CVE-2024-55565","CVE-2025-12816","CVE-2025-15599","CVE-2025-26791","CVE-2025-30156","CVE-2025-50181","CVE-2025-50182","CVE-2025-58754","CVE-2025-59343","CVE-2025-62718","CVE-2025-66030","CVE-2025-66035","CVE-2025-66412","CVE-2025-69873","CVE-2026-0540","CVE-2026-21441","CVE-2026-22610","CVE-2026-25639","CVE-2026-26996","CVE-2026-27903","CVE-2026-27904","CVE-2026-27970","CVE-2026-32141","CVE-2026-33228","CVE-2026-33671","CVE-2026-33672","CVE-2026-33891","CVE-2026-33894","CVE-2026-33895","CVE-2026-33896","CVE-2026-39865","CVE-2026-40175","CVE-2026-40895","CVE-2026-41238","CVE-2026-41239","CVE-2026-41240","CVE-2026-41305","CVE-2026-42033","CVE-2026-42034","CVE-2026-42035","CVE-2026-42036","CVE-2026-42037","CVE-2026-42038","CVE-2026-42039","CVE-2026-42040","CVE-2026-42041","CVE-2026-42042","CVE-2026-42043","CVE-2026-42044","CVE-2026-50152","CVE-2026-58224"]},{"id":"RHSA-2026:5910","title":"Red Hat Security Advisory: OpenShift Container Platform 4.16.59 bug fix and security update","vulnerabilityIds":["CVE-2025-69873"]},{"id":"RHSA-2026:33371","title":"Red Hat Security Advisory: Red Hat JBoss Enterprise Application Platform 7.3.18 security update","vulnerabilityIds":["CVE-2024-29371","CVE-2025-9784","CVE-2025-12543","CVE-2025-13465","CVE-2025-15284","CVE-2025-23184","CVE-2025-23368","CVE-2025-66412","CVE-2025-69873","CVE-2026-1002","CVE-2026-24842"]},{"id":"RHSA-2026:40945","title":"Red Hat Security Advisory: Red Hat Edge Manager Version 1.1.3 Security Update","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61729","CVE-2025-68121","CVE-2025-69873","CVE-2026-4800","CVE-2026-4926","CVE-2026-6322","CVE-2026-13676","CVE-2026-22029","CVE-2026-25679","CVE-2026-29063","CVE-2026-32141","CVE-2026-32280","CVE-2026-32281","CVE-2026-32282","CVE-2026-33186","CVE-2026-33810","CVE-2026-33811","CVE-2026-33816","CVE-2026-39821","CVE-2026-39828","CVE-2026-39829","CVE-2026-39830","CVE-2026-39832","CVE-2026-39835","CVE-2026-42151","CVE-2026-42154","CVE-2026-42508","CVE-2026-46595"]},{"id":"RHSA-2026:41941","title":"Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.18.25 security, enhancement & bug fix update","vulnerabilityIds":["CVE-2025-12816","CVE-2025-13465","CVE-2025-15284","CVE-2025-47907","CVE-2025-58183","CVE-2025-61726","CVE-2025-61729","CVE-2025-66031","CVE-2025-68157","CVE-2025-68458","CVE-2025-69873","CVE-2026-4800","CVE-2026-25896","CVE-2026-26278","CVE-2026-26996","CVE-2026-27904","CVE-2026-27942","CVE-2026-29063","CVE-2026-33036","CVE-2026-33186","CVE-2026-34986","CVE-2026-48779"]},{"id":"RHSA-2026:5807","title":"Red Hat Security Advisory: RHOAI 2.16.4 - Red Hat OpenShift AI","vulnerabilityIds":["CVE-2024-25621","CVE-2025-6193","CVE-2025-12060","CVE-2025-12638","CVE-2025-12816","CVE-2025-61726","CVE-2025-61729","CVE-2025-66031","CVE-2025-66418","CVE-2025-66626","CVE-2025-68156","CVE-2025-69873","CVE-2026-1526","CVE-2026-1528","CVE-2026-2229","CVE-2026-25223","CVE-2026-25639","CVE-2026-29074","CVE-2026-32141"]},{"id":"RHSA-2026:15091","title":"Red Hat Security Advisory: OpenShift Container Platform 4.14.65 bug fix and security update","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61726","CVE-2025-61728","CVE-2025-61731","CVE-2025-61732","CVE-2025-69873","CVE-2026-25679","CVE-2026-40175"]},{"id":"RHSA-2026:26211","title":"Red Hat Security Advisory: General availability of the satellite/iop-remediations-rhel9 container image","vulnerabilityIds":["CVE-2025-69873"]},{"id":"RHSA-2026:26214","title":"Red Hat Security Advisory: General availability of the satellite/iop-advisor-frontend-rhel9 container image","vulnerabilityIds":["CVE-2025-69873","CVE-2026-6321","CVE-2026-26996","CVE-2026-27904","CVE-2026-41680","CVE-2026-42033","CVE-2026-42035","CVE-2026-42039","CVE-2026-42041","CVE-2026-42043","CVE-2026-42044"]},{"id":"RHSA-2026:6567","title":"Red Hat Security Advisory: Red Hat Quay 3.16.3","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61726","CVE-2025-61728","CVE-2025-68121","CVE-2025-68158","CVE-2025-69873","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-26996","CVE-2026-27628","CVE-2026-27904","CVE-2026-28498"]},{"id":"RHSA-2026:9742","title":"Red Hat Security Advisory: Red Hat Developer Hub 1.8.6 release.","vulnerabilityIds":["CVE-2025-62718","CVE-2025-69534","CVE-2025-69873","CVE-2026-1525","CVE-2026-1526","CVE-2026-1528","CVE-2026-2229","CVE-2026-3118","CVE-2026-4800","CVE-2026-4926","CVE-2026-25679","CVE-2026-26996","CVE-2026-27601","CVE-2026-27904","CVE-2026-29063","CVE-2026-29074","CVE-2026-29186","CVE-2026-32141","CVE-2026-33036","CVE-2026-33228","CVE-2026-33891","CVE-2026-33894","CVE-2026-33895","CVE-2026-33896","CVE-2026-39983","CVE-2026-40175"]},{"id":"RHSA-2026:40984","title":"Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.20.15 security, enhancement & bug fix update","vulnerabilityIds":["CVE-2025-12816","CVE-2025-13465","CVE-2025-15284","CVE-2025-66031","CVE-2025-68157","CVE-2025-68458","CVE-2025-69873","CVE-2026-4800","CVE-2026-22029","CVE-2026-25128","CVE-2026-25896","CVE-2026-26278","CVE-2026-26996","CVE-2026-27904","CVE-2026-27942","CVE-2026-29063","CVE-2026-33036","CVE-2026-33186","CVE-2026-33815","CVE-2026-33816","CVE-2026-34986","CVE-2026-48779"]},{"id":"RHSA-2026:7314","title":"Red Hat Security Advisory: Red Hat Quay 3.14.7","vulnerabilityIds":["CVE-2025-69873","CVE-2026-27962"]},{"id":"RHSA-2026:16874","title":"Red Hat Security Advisory: Network Observability 1.11.2 for OpenShift","vulnerabilityIds":["CVE-2025-62718","CVE-2025-69873","CVE-2026-4800","CVE-2026-25679","CVE-2026-32280","CVE-2026-32282","CVE-2026-40175","CVE-2026-40895","CVE-2026-42033","CVE-2026-42035","CVE-2026-42039","CVE-2026-42041","CVE-2026-42043"]},{"id":"RHSA-2026:6277","title":"Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update","vulnerabilityIds":["CVE-2025-61726","CVE-2025-68121","CVE-2025-69873","CVE-2026-25639","CVE-2026-25990","CVE-2026-27904","CVE-2026-29074"]},{"id":"RHSA-2026:6309","title":"Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Container Release Update","vulnerabilityIds":["CVE-2025-69223","CVE-2025-69873","CVE-2026-1615","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-28498","CVE-2026-28802","CVE-2026-29074","CVE-2026-30827","CVE-2026-30922"]},{"id":"RHSA-2026:5168","title":"Red Hat Security Advisory: Red Hat Quay 3.9.19","vulnerabilityIds":["CVE-2025-61726","CVE-2025-68121","CVE-2025-69873","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-26996","CVE-2026-27628","CVE-2026-27904","CVE-2026-28802"]},{"id":"RHSA-2026:83622","title":"Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.17.28 security, enhancement & bug fix update","vulnerabilityIds":["CVE-2025-12816","CVE-2025-13465","CVE-2025-15284","CVE-2025-58183","CVE-2025-61726","CVE-2025-61729","CVE-2025-66031","CVE-2025-68157","CVE-2025-68458","CVE-2025-69873","CVE-2026-4800","CVE-2026-6321","CVE-2026-22029","CVE-2026-26996","CVE-2026-27904","CVE-2026-29063","CVE-2026-33186"]},{"id":"RHSA-2026:40118","title":"Red Hat Security Advisory: Red Hat Edge Manager Version 1.1.3 Security Update","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61729","CVE-2025-68121","CVE-2025-69873","CVE-2026-4800","CVE-2026-4926","CVE-2026-6322","CVE-2026-13676","CVE-2026-22029","CVE-2026-25679","CVE-2026-29063","CVE-2026-32141","CVE-2026-32280","CVE-2026-32281","CVE-2026-32282","CVE-2026-33186","CVE-2026-33810","CVE-2026-33811","CVE-2026-33816","CVE-2026-39821","CVE-2026-39828","CVE-2026-39829","CVE-2026-39830","CVE-2026-39832","CVE-2026-39835","CVE-2026-42151","CVE-2026-42154","CVE-2026-42508","CVE-2026-46595"]},{"id":"RHSA-2026:6497","title":"Red Hat Security Advisory: Red Hat Quay 3.16.3","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61726","CVE-2025-61728","CVE-2025-68121","CVE-2025-68158","CVE-2025-69873","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-26996","CVE-2026-27628","CVE-2026-27904","CVE-2026-28498"]},{"id":"RHSA-2026:14774","title":"Red Hat Security Advisory: OpenShift Container Platform 4.15.64 bug fix and security update","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61726","CVE-2025-61728","CVE-2025-61731","CVE-2025-61732","CVE-2025-65637","CVE-2025-69873","CVE-2026-25679","CVE-2026-40175"]},{"id":"RHSA-2026:6568","title":"Red Hat Security Advisory: Red Hat Quay 3.15.4","vulnerabilityIds":["CVE-2024-34156","CVE-2024-45337","CVE-2024-45338","CVE-2025-61726","CVE-2025-61728","CVE-2025-61729","CVE-2025-68121","CVE-2025-68158","CVE-2025-69873","CVE-2026-4598","CVE-2026-4599","CVE-2026-4600","CVE-2026-4601","CVE-2026-4602","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-26996","CVE-2026-27628","CVE-2026-27904","CVE-2026-28498","CVE-2026-28802","CVE-2026-29063","CVE-2026-29074","CVE-2026-30922","CVE-2026-32597"]},{"id":"RHSA-2026:5907","title":"Red Hat Security Advisory: OpenShift Container Platform 4.17.52 bug fix and security update","vulnerabilityIds":["CVE-2025-65637","CVE-2025-69873","CVE-2026-22797"]},{"id":"RHSA-2026:13512","title":"Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.5 Product Security and Bug Fix Update","vulnerabilityIds":["CVE-2025-69534","CVE-2025-69873","CVE-2026-6266","CVE-2026-23490","CVE-2026-25679","CVE-2026-26007","CVE-2026-27459","CVE-2026-27606","CVE-2026-29074","CVE-2026-30922","CVE-2026-32597","CVE-2026-39373"]},{"id":"RHSA-2026:6192","title":"Red Hat Security Advisory: Red Hat OpenShift Dev Spaces 3.27.0 Release.","vulnerabilityIds":["CVE-2025-13465","CVE-2025-54386","CVE-2025-61726","CVE-2025-61728","CVE-2025-61729","CVE-2025-64756","CVE-2025-68121","CVE-2025-69873","CVE-2026-1002","CVE-2026-22045","CVE-2026-23745","CVE-2026-23950","CVE-2026-24049","CVE-2026-24842","CVE-2026-25223","CVE-2026-25639","CVE-2026-25949","CVE-2026-26960","CVE-2026-26996"]},{"id":"RHSA-2026:6802","title":"Red Hat Security Advisory: Red Hat Developer Hub 1.9.3 release.","vulnerabilityIds":["CVE-2025-61140","CVE-2025-69873","CVE-2026-1615","CVE-2026-2359","CVE-2026-3304","CVE-2026-3520","CVE-2026-24046","CVE-2026-25153","CVE-2026-25639","CVE-2026-25679","CVE-2026-25896","CVE-2026-26278","CVE-2026-27606","CVE-2026-27942","CVE-2026-33186"]},{"id":"RHSA-2026:10093","title":"Red Hat Security Advisory: OpenShift Container Platform 4.19.29 bug fix and security update","vulnerabilityIds":["CVE-2025-69873","CVE-2026-33186"]},{"id":"RHSA-2026:19712","title":"Red Hat Security Advisory: RHOAI 3.3.3 - Red Hat OpenShift AI","vulnerabilityIds":["CVE-2025-6242","CVE-2025-12816","CVE-2025-13465","CVE-2025-15284","CVE-2025-59057","CVE-2025-61726","CVE-2025-61729","CVE-2025-62164","CVE-2025-62718","CVE-2025-64756","CVE-2025-66031","CVE-2025-66418","CVE-2025-66448","CVE-2025-66471","CVE-2025-69223","CVE-2025-69873","CVE-2026-0846","CVE-2026-0847","CVE-2026-4800","CVE-2026-21441","CVE-2026-21884","CVE-2026-22029","CVE-2026-22778","CVE-2026-23490","CVE-2026-23745","CVE-2026-24049","CVE-2026-24486","CVE-2026-24779","CVE-2026-25639","CVE-2026-25990","CVE-2026-27893","CVE-2026-28684","CVE-2026-29063","CVE-2026-29074","CVE-2026-30922","CVE-2026-31812","CVE-2026-32597","CVE-2026-32829","CVE-2026-32981","CVE-2026-33186","CVE-2026-33231","CVE-2026-33236","CVE-2026-34986","CVE-2026-40175","CVE-2026-40192","CVE-2026-40895"]},{"id":"WID-SEC-W-2026-0935","title":"Red Hat Ansible Automation Platform: Mehrere Schwachstellen","vulnerabilityIds":["CVE-2025-69223","CVE-2025-69873","CVE-2026-25639","CVE-2026-25990","CVE-2026-29074","CVE-2026-30827","CVE-2026-30922","CVE-2026-26007","CVE-2026-1615","CVE-2026-28498","CVE-2026-28802"]},{"id":"RHSA-2026:36651","title":"Red Hat Security Advisory: Red Hat Edge Manager Version 1.0.3 Security Update","vulnerabilityIds":["CVE-2025-13465","CVE-2025-61729","CVE-2025-68121","CVE-2025-69873","CVE-2026-4800","CVE-2026-4926","CVE-2026-6322","CVE-2026-22029","CVE-2026-25679","CVE-2026-29063","CVE-2026-32141","CVE-2026-32280","CVE-2026-33186","CVE-2026-33810","CVE-2026-33811","CVE-2026-39821","CVE-2026-39828","CVE-2026-39829","CVE-2026-39830","CVE-2026-39832","CVE-2026-39835","CVE-2026-42151","CVE-2026-42154","CVE-2026-42508","CVE-2026-46595"]},{"id":"RHSA-2026:6404","title":"Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Container Release Update","vulnerabilityIds":["CVE-2025-69223","CVE-2025-69873","CVE-2026-1615","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-28498","CVE-2026-28802","CVE-2026-29074","CVE-2026-30827","CVE-2026-30922"]}],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2025-207389","identifiers":["EUVD-2025-207389","CVE-2025-69873","GHSA-2g4f-4pwh-qvx6"]},"retained":false,"historicalAffected":[]},{"revision":"482b7f0f1aad4bdfa014bbaa8bd23ca7","observedAt":"2026-10-25T04:17:18.34+00:00","statement":{"source":"nvd","id":"CVE-2025-69873","aliases":[],"title":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is p…","description":"ajv (Another JSON Schema Validator) before 8.18.0 is vulnerable to Regular Expression Denial of Service (ReDoS) when the $data option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is passed directly to the JavaScript RegExp() constructor without validation. An attacker can inject a malicious regex pattern (e.g., \"^(a|a)*$\") combined with crafted input to cause catastrophic backtracking. A 31-character payload causes approximately 44 seconds of CPU blocking, with each additional character doubling execution time. This enables complete denial of service with a single HTTP request against any API using ajv with $data: true for dynamic schema validation. This issue is also fixed in version 6.14.0.","state":0,"publishedAt":"2026-02-11T19:15:50.467+00:00","modifiedAt":"2026-09-10T13:17:29.42+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · cve@mitre.org · Secondary","vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L","score":2.9,"severity":"LOW"},{"system":"CVSS 3.1 · 134c704f-9b21-4f2e-91b3-4a467353bcc0 · Secondary","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5,"severity":"HIGH"},{"system":"CVSS 3.1 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c · Secondary","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5,"severity":"HIGH"}],"references":["https://github.com/EthanKim88/ethan-cve-disclosures/blob/main/CVE-2025-69873-ajv-ReDoS.md","https://github.com/advisories/GHSA-2g4f-4pwh-qvx6","https://github.com/ajv-validator/ajv/pull/2588","https://github.com/ajv-validator/ajv/pull/2590","https://github.com/ajv-validator/ajv/releases/tag/v6.14.0","https://github.com/github/advisory-database/pull/6991","https://access.redhat.com/errata/RHSA-2026:10093","https://access.redhat.com/errata/RHSA-2026:13512","https://access.redhat.com/errata/RHSA-2026:14774","https://access.redhat.com/errata/RHSA-2026:15091","https://access.redhat.com/errata/RHSA-2026:16874","https://access.redhat.com/errata/RHSA-2026:19712","https://access.redhat.com/errata/RHSA-2026:26211","https://access.redhat.com/errata/RHSA-2026:26214","https://access.redhat.com/errata/RHSA-2026:33371","https://access.redhat.com/errata/RHSA-2026:36651","https://access.redhat.com/errata/RHSA-2026:40118","https://access.redhat.com/errata/RHSA-2026:40945","https://access.redhat.com/errata/RHSA-2026:40984","https://access.redhat.com/errata/RHSA-2026:41941","https://access.redhat.com/errata/RHSA-2026:41944","https://access.redhat.com/errata/RHSA-2026:5168","https://access.redhat.com/errata/RHSA-2026:5807","https://access.redhat.com/errata/RHSA-2026:5907","https://access.redhat.com/errata/RHSA-2026:5910","https://access.redhat.com/errata/RHSA-2026:6192","https://access.redhat.com/errata/RHSA-2026:6277","https://access.redhat.com/errata/RHSA-2026:6309","https://access.redhat.com/errata/RHSA-2026:6497","https://access.redhat.com/errata/RHSA-2026:6567","https://access.redhat.com/errata/RHSA-2026:6568","https://access.redhat.com/errata/RHSA-2026:6802","https://access.redhat.com/errata/RHSA-2026:7314","https://access.redhat.com/errata/RHSA-2026:9742","https://access.redhat.com/security/cve/CVE-2025-69873","https://bugzilla.redhat.com/show_bug.cgi?id=2439070","https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-69873.json"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2025-69873","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Deferred","weaknesses":["CWE-1333","CWE-400"],"productCriteria":[],"sourceDates":{"published":"2026-02-11T19:15:50.467","lastModified":"2026-09-10T13:17:29.420"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2025-69873","identifiers":["CVE-2025-69873"]},"retained":false,"historicalAffected":[]},{"revision":"01fc9fae761f4f37ae401b5264fb23a2","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-2g4f-4pwh-qvx6","aliases":["CVE-2025-69873"],"title":"ajv has ReDoS when using `$data` option","description":"ajv (Another JSON Schema Validator) through version 8.17.1 is vulnerable to Regular Expression Denial of Service (ReDoS) when the `$data` option is enabled. The pattern keyword accepts runtime data via JSON Pointer syntax (`$data` reference), which is passed directly to the JavaScript `RegExp()` constructor without validation. An attacker can inject a malicious regex pattern (e.g., `\\\"^(a|a)*$\\\"`) combined with crafted input to cause catastrophic backtracking. A 31-character payload causes approximately 44 seconds of CPU blocking, with each additional character doubling execution time. This enables complete denial of service with a single HTTP request against any API using ajv with `$data`: true for dynamic schema validation.","state":0,"publishedAt":"2026-02-11T21:30:39+00:00","modifiedAt":"2026-09-10T03:50:33.7164876+00:00","affected":[{"ecosystem":"npm","name":"ajv","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"7.0.0-alpha.0"},{"kind":"fixed","version":"8.18.0"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"npm","name":"ajv","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"6.14.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://nvd.nist.gov/vuln/detail/CVE-2025-69873","https://github.com/ajv-validator/ajv/pull/2586","https://github.com/ajv-validator/ajv/pull/2588","https://github.com/ajv-validator/ajv/pull/2590","https://github.com/github/advisory-database/pull/6991","https://github.com/ajv-validator/ajv/commit/720a23fa453ffae8340e92c9b0fe886c54cfe0d5","https://github.com/EthanKim88/ethan-cve-disclosures/blob/main/CVE-2025-69873-ajv-ReDoS.md","https://github.com/advisories/GHSA-2g4f-4pwh-qvx6","https://github.com/ajv-validator/ajv","https://github.com/ajv-validator/ajv/releases/tag/v6.14.0","https://github.com/ajv-validator/ajv/releases/tag/v8.18.0"],"sourceUrl":"https://github.com/advisories/GHSA-2g4f-4pwh-qvx6","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-2g4f-4pwh-qvx6","identifiers":["GHSA-2g4f-4pwh-qvx6","CVE-2025-69873"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-13T18:01:05.5413022+00:00","complete":true,"records":1779,"lastAttemptAt":"2026-11-13T18:01:05.5413022+00:00","lastSuccessAt":"2026-11-13T18:01:05.7729339+00:00","error":null,"lastVerifiedAt":"2026-11-13T18:01:05.7729352+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-d8fa82e95fdb59244e2f635e667ba17f0796ca0a4f1f4bb8cc31febcd660b76c-ccaf70881389a6dde5b6a56695261f5e99c3b78e7d92f29b689b3669ccc7d293","complete":true,"records":425536,"lastAttemptAt":"2026-11-13T17:57:15.2133348+00:00","lastSuccessAt":"2026-11-13T17:57:14.9138678+00:00","error":null,"lastVerifiedAt":"2026-11-13T17:57:15.2133348+00:00","snapshotPublishedAt":"2026-11-13T17:24:51+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-0935ecd52e0a4dcba231eb8eac2a06d0","complete":false,"records":13797,"lastAttemptAt":"2026-11-13T18:11:36.7102949+00:00","lastSuccessAt":"2026-11-13T18:11:36.702+00:00","error":"824 identifier lookups failed; latest failures include AccessDenied (HTTP 403). Other identifiers were checked independently.","lastVerifiedAt":"2026-11-13T18:11:36.702+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":12620,"expectedIdentifiers":13850,"failedIdentifiers":824},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-13T18:01:05.5413022+00:00","complete":true,"records":1123,"lastAttemptAt":"2026-11-13T18:01:05.5413022+00:00","lastSuccessAt":"2026-11-13T18:01:05.7779306+00:00","error":null,"lastVerifiedAt":"2026-11-13T18:01:05.7779313+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-32661fdb309e42beb400bdb9ba8a1124","complete":true,"records":13797,"lastAttemptAt":"2026-11-13T18:01:41.4058929+00:00","lastSuccessAt":"2026-11-13T18:01:41.402+00:00","error":null,"lastVerifiedAt":"2026-11-13T18:01:41.402+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13850,"expectedIdentifiers":13850,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-93e76d404e1aeb6a7e8902f5ffa06211fc86dea3b1958e297abb2668aa5e6e8c","complete":true,"records":9952,"lastAttemptAt":"2026-11-13T18:01:05.3922026+00:00","lastSuccessAt":"2026-11-12T23:19:15.5239119+00:00","error":null,"lastVerifiedAt":"2026-11-13T18:01:05.3922026+00:00","snapshotPublishedAt":"2026-11-12T23:03:02+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-4d60731753a2f72e455d1086e7203d0ef10843936dcc1cf2b45135e2caa204b0","complete":true,"records":2012,"lastAttemptAt":"2026-11-13T17:57:15.3850684+00:00","lastSuccessAt":"2026-11-12T18:16:50.7862525+00:00","error":null,"lastVerifiedAt":"2026-11-13T17:57:15.3850684+00:00","snapshotPublishedAt":"2026-11-12T17:48:11+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-f7b4a39cba128839548000e6d1d86fef7e48dd6f19f8e345c343f4aa28de8b91","complete":true,"records":3146,"lastAttemptAt":"2026-11-13T18:01:05.4945949+00:00","lastSuccessAt":"2026-11-13T15:58:45.7257812+00:00","error":null,"lastVerifiedAt":"2026-11-13T18:01:05.4945949+00:00","snapshotPublishedAt":"2026-11-13T15:48:17+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-e36c3f641409a47745aac9a2b2ecb0fdf427f10ad1cc88f2e02065e57108d794","complete":true,"records":231780,"lastAttemptAt":"2026-11-13T18:01:05.257177+00:00","lastSuccessAt":"2026-11-13T18:01:03.35099+00:00","error":null,"lastVerifiedAt":"2026-11-13T18:01:05.257177+00:00","snapshotPublishedAt":"2026-11-13T17:33:05+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}