CVE-2025-69873

LOWPre-NVD 2.92.9
EchelonGraph scoreMEDIUM confidence

“—” beside the score: it is equal to the CVSS score beside it.

This low-severity CVE scores 2.9 under the CNA's CVSS (NVD's own analysis pending). EPSS exploit probability: 0.5% (44th percentile of EPSS-scored CVEs). No GitHub Security Advisory CVSS is on record for this CVE.

Triggered by: Headline CVSS from the CNA's CVSS
Sources: the CNA's CVSS, EPSS
Elevated
2.9EG
EchelonGraph verdictPlan a fixRemediate within your standard update timelines at low or medium mission impact and sooner than that at high (the SSVC decision on this page).
  • CISA's Vulnrichment rates exploitation as PoC; EchelonGraph holds no exploit-code reference for it
CISA-KEV: Not listedEPSS PROB: 0.5%CVSS: 2.9Exploit: No code on recordExposed services: Not assessed

A fix is available — apply it.

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.

CVSS v3
2.9
EG Score
2.9LOWmedium confidence
EG Risk
44
EG Risk 44/100

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed (value × EchelonGraph’s weight)
Severity29% × 45%
The EG Score, 2.9 of 10.
Exploitation40% × 40%
EchelonGraph's fixed weight for EG-KEV Tier 3 (Elevated): a constant, not a probability.
Automatability100% × 15%
CISA's SSVC Automatable value: yes (Vulnrichment).
SSVC (CISA's decision table, applied by EchelonGraph): Track at low or medium mission impact; Attend at high (mission-essential systems).
Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE.
Action: A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.
EPSS PROB
0.5%
EPSS %ILE
44th
KEV
Not listed

SSVC (CISA's decision table, applied by EchelonGraph)Track at low or medium mission impact; Attend at high (mission-essential systems).

A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.

Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). All three are CISA's SSVC values (Vulnrichment). EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE. Mission impact is CISA's Mission & Well-being decision point, and only you can judge it. CISA's table makes it high when Mission Prevalence is Essential — the vulnerable component "directly provides capabilities that constitute at least one MEF for at least one entity" (MEF: mission essential function) — or when Public Well-Being Impact is Irreversible: "multiple fatalities are likely", the cyber-physical system "is likely lost or destroyed", "extreme or serious externalities" are imposed on other parties, or social systems such as elections or the financial grid "are destabilized and potentially collapse". CISA's decision table

BOD 26-04 (CISA's remediation timeline, Table 1)14 days if the affected system is publicly exposed; 60 days if it is not.

In CISA KEV no (CISA's KEV catalog) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). Whether your system is publicly exposed is yours to answer. BOD 26-04 binds US Federal Civilian Executive Branch agencies; for anyone else it is CISA's published timeline, a reference rather than an obligation. The directive · how EchelonGraph applies it

Published

February 11, 2026

Last Modified

September 14, 2026

Advisory Details (9)

Auto-updated Jun 30, 2026
Patch available. Sources: github, github_pr, redhat.
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2026:15091
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2026:14774
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2026:13512
Red HatMentions a patch (unverified)
https://access.redhat.com/errata/RHSA-2026:10093
GitHub pull request

[GHSA-2g4f-4pwh-qvx6] ajv has ReDoS when using `$data` option

Fix merged in github/advisory-database PR #6991 on 2026-02-20 — awaiting tagged release

https://github.com/github/advisory-database/pull/6991
GitHub pull request

add regExp option to address $data exploit via a regular expression (CVE-2025-69873)

Fix merged in ajv-validator/ajv PR #2590 on 2026-02-20 — awaiting tagged release

https://github.com/ajv-validator/ajv/pull/2590
GitHub pull request

fix(security): backport CVE-2025-69873 - wrap $data pattern in try/catch

Upstream fix in progress (PR #2588 · ajv-validator/ajv, state=closed)

https://github.com/ajv-validator/ajv/pull/2588
GitHub advisoryMentions a patch (unverified)

ajv has ReDoS when using `$data` option · CVE-2025-69873 · GitHub Advisory Database · GitHub

https://github.com/advisories/GHSA-2g4f-4pwh-qvx6
Web page

ethan-cve-disclosures/CVE-2025-69873-ajv-ReDoS.md at main · EthanKim88/ethan-cve-disclosures · GitHub

https://github.com/EthanKim88/ethan-cve-disclosures/blob/main/CVE-2025-69873-ajv-ReDoS.md

Patch Availability(28)

Vendor / EcosystemFix (by version range) / PatchReleasedSource
redhatodf4/rook-ceph-rhel9-operator:17836853752026-07-20redhat
redhatodf4/rook-ceph-rhel9-operator:17836775332026-07-20redhat
redhatrhem/flightctl-ui-rhel10:17841945742026-07-16redhat
redhatodf4/rook-ceph-rhel9-operator:17836692192026-07-16redhat
redhatrhem/flightctl-ui-rhel9:17841277362026-07-15redhat
redhatrhem/flightctl-ui-rhel9:17835024382026-07-08redhat
redhateap7-wildfly-0:7.3.18-3.GA_redhat_00001.1.el7eap2026-06-30redhat
redhatsatellite/iop-advisor-frontend-rhel9:17811816732026-06-16redhat
redhatsatellite/iop-remediations-rhel9:17812470252026-06-16redhat
redhatrhoai/odh-mod-arch-model-registry-rhel9:17786669872026-05-20redhat
redhatopenshift4/ose-monitoring-plugin-rhel8:17779948442026-05-13redhat
redhatnetwork-observability/network-observability-console-plugin-compat-rhel9:17785089562026-05-13redhat
redhatopenshift4/ose-monitoring-plugin-rhel8:17780366412026-05-12redhat
redhatautomation-gateway-0:2.5.20260422-2.el9ap2026-05-04redhat
redhatopenshift4/ose-monitoring-plugin-rhel9:17766758722026-04-29redhat
redhatrhdh/rhdh-hub-rhel9:17767842862026-04-22redhat
redhatquay/quay-rhel8:17755121632026-04-09redhat
redhatrhdh/rhdh-hub-rhel9:17751406472026-04-07redhat
redhatquay/quay-rhel9:17751692262026-04-03redhat
redhatquay/quay-rhel8:17751692192026-04-03redhat
redhatopenshift4/ose-monitoring-plugin-rhel9:17744526492026-04-02redhat
redhatquay/quay-rhel9:17750694912026-04-02redhat
redhatopenshift4/ose-monitoring-plugin-rhel9:17744749082026-04-01redhat
redhatansible-automation-platform-26/gateway-rhel9:17742438622026-04-01redhat
redhatautomation-platform-ui-0:2.6.7-1.el9ap2026-03-31redhat
redhatdevspaces/dashboard-rhel9:17744765262026-03-30redhat
redhatrhoai/odh-dashboard-rhel8:17742821362026-03-25redhat
redhatquay/quay-rhel8:17739363232026-03-19redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(5 across 5 ecosystems)
Debian:11(1)
PackageVulnerable rangeFix by version rangeDependents
node-ajv6.12.6-2 ... 8.8.2~ds+~2.1.1-1 (18 versions)
  • every version on: no fix on record
—
Debian:12(1)
PackageVulnerable rangeFix by version rangeDependents
node-ajv6.12.6-3 ... 8.8.2~ds+~2.1.1-1 (21 versions)
  • every version on: no fix on record
—
Debian:13(1)
PackageVulnerable rangeFix by version rangeDependents
node-ajv8.12.0~ds+~2.1.1-5 ... 8.20.0~ds+~cs7.1.5-1 (14 versions)
  • every version on: no fix on record
—
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
node-ajv8.12.0~ds+~2.1.1-5, 8.17.1~ds+~3.0.1+~3.1.0-1, 8.17.1~ds+~3.0.1+~3.1.0-2, 8.17.1~ds+~3.0.1+~3.1.0-3, 8.17.1~ds+~3.0.1+~3.1.0-4
  • every version up to 8.18.0~ds+~cs6.1.1-1: fixed in 8.18.0~ds+~cs6.1.1-1
—
npm(1)
PackageVulnerable rangeFix by version rangeDependents
ajv—
  • 7.0.0-alpha.0 up to 8.18.0: fixed in 8.18.0
  • every version up to 6.14.0: fixed in 6.14.0
—

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Additional Vendor Advisories

(9)

Data Freshness Timeline

(refreshed 11× in last 7d / 30× in last 30d)

Each row is a time one of our pipelines fetched, updated or re-scored this CVE. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. An arrow marks a change the record states ("CVSS v3 → 9.1"); EPSS and GHSA rows show the values recorded at that time, not what changed (EPSS values are rounded; hover one for the exact figures). Most recent first.

Showing the most recent 99 of 311 refreshes on record for this CVE.

A repeat, a row identical to one the same pipeline wrote less than 10 seconds earlier, is not a separate refresh and is not counted. 1 repeat row among the latest 100 is merged into the row it repeats. The 212 oldest rows on record are not shown and were not checked, so the counts can still include repeats.

  1. 2026-10-14 16:31 UTCEPSS rescoreEPSS 0.5% · 44th percentile
  2. 2026-10-13 16:33 UTCEPSS rescoreEPSS 0.5% · 44th percentile
  3. 2026-10-12 16:46 UTCEG score recompute
  4. 2026-10-12 16:33 UTCEPSS rescoreEPSS 0.5% · 44th percentile
  5. 2026-10-11 20:21 UTCEG score recompute
  6. 2026-10-11 18:33 UTCEG score recompute
  7. 2026-10-11 15:07 UTCEG score recompute
  8. 2026-10-11 13:47 UTCEPSS rescoreEPSS 0.5% · 44th percentile
  9. 2026-10-10 19:59 UTCEPSS rescoreEPSS 0.5% · 44th percentile
  10. 2026-10-09 20:06 UTCEPSS rescoreEPSS 0.5% · 44th percentile
  11. 2026-10-08 17:11 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  12. 2026-10-07 23:47 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  13. 2026-10-06 15:17 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  14. 2026-10-05 17:42 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  15. 2026-10-04 23:21 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  16. 2026-10-03 22:28 UTCOSV refresh
  17. 2026-10-03 14:25 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  18. 2026-10-01 19:49 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  19. 2026-09-30 15:02 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  20. 2026-09-29 15:20 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  21. 2026-09-28 13:50 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  22. 2026-09-26 15:58 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  23. 2026-09-24 14:02 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  24. 2026-09-23 13:47 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  25. 2026-09-20 20:15 UTCEPSS rescoreEPSS 0.5% · 41st percentile
Show 74 more
  1. 2026-09-18 19:27 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  2. 2026-09-17 19:30 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  3. 2026-09-16 14:07 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  4. 2026-09-16 05:14 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  5. 2026-09-15 03:10 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  6. 2026-09-14 12:36 UTCEG score recompute▼ 4.60
  7. 2026-09-14 12:36 UTCVendor advisory
  8. 2026-09-14 12:24 UTCMITRE cvelistV5CVSS v3 → 2.9 · severity → LOW
  9. 2026-09-13 16:46 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  10. 2026-09-12 15:00 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  11. 2026-09-11 14:52 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  12. 2026-09-11 09:36 UTCEPSS rescoreEPSS 0.5% · 41st percentile
  13. 2026-09-10 13:23 UTCEG score recompute▲ 4.60
  14. 2026-09-10 13:23 UTCVendor advisory
  15. 2026-09-10 13:19 UTCNVD updateCVSS v3 → 7.5 · severity → HIGH
  16. 2026-09-10 12:28 UTCEG score recompute
  17. 2026-09-10 12:28 UTCVendor advisory
  18. 2026-09-10 09:34 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  19. 2026-09-09 12:41 UTCEG score recompute▼ 4.60
  20. 2026-09-09 12:41 UTCVendor advisory
  21. 2026-09-09 12:35 UTCMITRE cvelistV5CVSS v3 → 2.9 · severity → LOW
  22. 2026-09-08 22:00 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  23. 2026-09-07 16:00 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  24. 2026-09-07 14:04 UTCEG score recompute▲ 4.60
  25. 2026-09-07 14:04 UTCVendor advisory
  26. 2026-09-07 13:18 UTCNVD updateCVSS v3 → 7.5 · severity → HIGH
  27. 2026-09-06 13:47 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  28. 2026-09-04 05:06 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  29. 2026-09-02 14:11 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  30. 2026-09-01 13:53 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  31. 2026-09-01 12:24 UTCEG score recompute
  32. 2026-09-01 12:24 UTCVendor advisory
  33. 2026-08-30 01:21 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  34. 2026-08-28 21:40 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  35. 2026-08-28 16:02 UTCEG score recompute
  36. 2026-08-28 16:02 UTCVendor advisory
  37. 2026-08-27 14:24 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  38. 2026-08-27 13:03 UTCEG score recompute
  39. 2026-08-27 13:03 UTCVendor advisory
  40. 2026-08-26 14:45 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  41. 2026-08-26 12:23 UTCEG score recompute
  42. 2026-08-26 12:23 UTCVendor advisory
  43. 2026-08-25 13:48 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  44. 2026-08-25 12:22 UTCEG score recompute▼ 4.60
  45. 2026-08-25 12:22 UTCVendor advisory
  46. 2026-08-25 12:16 UTCMITRE cvelistV5CVSS v3 → 2.9 · severity → LOW
  47. 2026-08-24 14:16 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  48. 2026-08-24 13:32 UTCEG score recompute▲ 4.60
  49. 2026-08-24 13:32 UTCVendor advisory
  50. 2026-08-24 13:28 UTCNVD updateCVSS v3 → 7.5 · severity → HIGH
  51. 2026-08-24 12:28 UTCEG score recompute
  52. 2026-08-24 12:28 UTCVendor advisory
  53. 2026-08-23 00:18 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  54. 2026-08-21 23:48 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  55. 2026-08-21 12:33 UTCEG score recompute▼ 4.60
  56. 2026-08-21 12:33 UTCVendor advisory
  57. 2026-08-21 12:29 UTCMITRE cvelistV5CVSS v3 → 2.9 · severity → LOW
  58. 2026-08-20 22:55 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  59. 2026-08-20 13:59 UTCEG score recompute▲ 4.60
  60. 2026-08-20 13:59 UTCVendor advisory
  61. 2026-08-20 13:22 UTCNVD updateCVSS v3 → 7.5 · severity → HIGH
  62. 2026-08-20 12:46 UTCEG score recompute▼ 4.60
  63. 2026-08-20 12:46 UTCVendor advisory
  64. 2026-08-20 12:41 UTCMITRE cvelistV5CVSS v3 → 2.9 · severity → LOW
  65. 2026-08-19 17:03 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  66. 2026-08-18 13:48 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  67. 2026-08-17 13:46 UTCEPSS rescoreEPSS 0.5% · 40th percentile
  68. 2026-08-17 12:22 UTCEG score recompute▲ 4.60
  69. 2026-08-17 12:22 UTCVendor advisory
  70. 2026-08-17 12:19 UTCNVD updateCVSS v3 → 7.5 · severity → HIGH
  71. 2026-08-17 12:14 UTCEG score recompute▼ 4.60
  72. 2026-08-17 12:14 UTCVendor advisory
  73. 2026-08-17 12:11 UTCMITRE cvelistV5CVSS v3 → 2.9 · severity → LOW
  74. 2026-08-16 14:55 UTCEPSS rescoreEPSS 0.5% · 40th percentile

Frequently asked(5)

What is CVE-2025-69873?
CVE-2025-69873 is a low-severity vulnerability; its CVE record was published on February 11, 2026. 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…
When was the CVE record for CVE-2025-69873 published?
The CVE record for CVE-2025-69873 was published on February 11, 2026. That is the record's publication date; the vulnerability itself may have been made public earlier. EchelonGraph's copy of the record carries a last-modified date of September 14, 2026; the record at its source may have been updated since.
Is CVE-2025-69873 actively exploited?
CVE-2025-69873 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.5% probability of exploitation in the next 30 days (44th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2025-69873?
CVE-2025-69873 has a CVSS base score of 2.9 (the CNA's own assessment, by mitre; NVD's own analysis pending).
How do I remediate CVE-2025-69873?
A fix for CVE-2025-69873 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2025-69873 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2025-69873

Explore →

Is Your Infrastructure Affected by CVE-2025-69873?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.