CVE-2025-69873
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
ajvnpm | >= 7.0.0-alpha.0, < 8.18.0 | 8.18.0 |
ajvnpm | < 6.14.0 | 6.14.0 |
Affected products
95- osv-coords95 versionspkg:apk/chainguard/arangodb-3.11pkg:apk/chainguard/arangodb-3.12pkg:apk/chainguard/argo-workflows-ui-3.6pkg:apk/chainguard/argo-workflows-ui-3.7pkg:apk/chainguard/argo-workflows-ui-4.0pkg:apk/chainguard/authentik-2026.2pkg:apk/chainguard/authentik-fips-2026.2pkg:apk/chainguard/drupal-11.3pkg:apk/chainguard/eslintpkg:apk/chainguard/gemini-clipkg:apk/chainguard/katib-earlystoppingpkg:apk/chainguard/katib-suggestion-hyperbandpkg:apk/chainguard/katib-suggestion-hyperoptpkg:apk/chainguard/katib-suggestion-nas-dartspkg:apk/chainguard/katib-suggestion-nas-enaspkg:apk/chainguard/katib-suggestion-optuna-enaspkg:apk/chainguard/katib-suggestion-pbt-enaspkg:apk/chainguard/katib-suggestion-skopt-enaspkg:apk/chainguard/katib-tfevent-metricscollectorpkg:apk/chainguard/kibana-8.19pkg:apk/chainguard/kibana-8.19-bitnamipkg:apk/chainguard/kibana-8.19-iamguardedpkg:apk/chainguard/kibana-9.2pkg:apk/chainguard/kibana-9.2-iamguardedpkg:apk/chainguard/kibana-9.3pkg:apk/chainguard/kibana-9.3-iamguardedpkg:apk/chainguard/kubeflow-centraldashboardpkg:apk/chainguard/kubeflow-pipelines-frontendpkg:apk/chainguard/langfuse-2pkg:apk/chainguard/langfuse-2-workerpkg:apk/chainguard/langfuse-3pkg:apk/chainguard/langfuse-3-workerpkg:apk/chainguard/langfuse-fips-2pkg:apk/chainguard/langfuse-fips-2-workerpkg:apk/chainguard/langfuse-fips-3pkg:apk/chainguard/langfuse-fips-3-workerpkg:apk/chainguard/librechatpkg:apk/chainguard/opensearch-dashboards-2pkg:apk/chainguard/opensearch-dashboards-2-dashboards-observabilitypkg:apk/chainguard/opensearch-dashboards-2-fipspkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-observabilitypkg:apk/chainguard/opensearch-dashboards-3pkg:apk/chainguard/opensearch-dashboards-3-dashboards-observabilitypkg:apk/chainguard/opensearch-dashboards-3-fipspkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-observabilitypkg:apk/chainguard/prismpkg:apk/chainguard/py3.10-jupyterlabpkg:apk/chainguard/py3.11-jupyterlabpkg:apk/chainguard/py3.12-jupyterlabpkg:apk/chainguard/py3.13-jupyterlabpkg:apk/chainguard/renovatepkg:apk/chainguard/safpkg:apk/chainguard/semaphorepkg:apk/chainguard/servepkg:apk/chainguard/sqlpadpkg:apk/chainguard/tensorflow-cpu-jupyterpkg:apk/chainguard/tileserver-glpkg:apk/chainguard/tileserver-gl-fipspkg:apk/chainguard/vitess-22pkg:apk/chainguard/vitess-23pkg:apk/chainguard/wazuh-dashboardpkg:apk/wolfi/argo-workflows-ui-3.7pkg:apk/wolfi/argo-workflows-ui-4.0pkg:apk/wolfi/eslintpkg:apk/wolfi/katib-earlystoppingpkg:apk/wolfi/katib-suggestion-hyperbandpkg:apk/wolfi/katib-suggestion-hyperoptpkg:apk/wolfi/katib-suggestion-nas-dartspkg:apk/wolfi/katib-suggestion-nas-enaspkg:apk/wolfi/katib-suggestion-optuna-enaspkg:apk/wolfi/katib-suggestion-pbt-enaspkg:apk/wolfi/katib-suggestion-skopt-enaspkg:apk/wolfi/katib-tfevent-metricscollectorpkg:apk/wolfi/kubeflow-centraldashboardpkg:apk/wolfi/kubeflow-pipelines-frontendpkg:apk/wolfi/langfuse-3pkg:apk/wolfi/langfuse-3-workerpkg:apk/wolfi/opensearch-dashboards-2pkg:apk/wolfi/opensearch-dashboards-2-dashboards-observabilitypkg:apk/wolfi/opensearch-dashboards-3pkg:apk/wolfi/opensearch-dashboards-3-dashboards-observabilitypkg:apk/wolfi/prismpkg:apk/wolfi/py3.10-jupyterlabpkg:apk/wolfi/py3.11-jupyterlabpkg:apk/wolfi/py3.12-jupyterlabpkg:apk/wolfi/py3.13-jupyterlabpkg:apk/wolfi/renovatepkg:apk/wolfi/safpkg:apk/wolfi/servepkg:apk/wolfi/sqlpadpkg:apk/wolfi/tensorflow-cpu-jupyterpkg:apk/wolfi/tileserver-glpkg:apk/wolfi/vitess-22pkg:apk/wolfi/vitess-23pkg:npm/ajv
< 3.11.14.3-r0+ 94 more
- (no CPE)range: < 3.11.14.3-r0
- (no CPE)range: < 3.12.7.2-r2
- (no CPE)range: < 3.6.19-r2
- (no CPE)range: < 3.7.10-r3
- (no CPE)range: < 4.0.1-r2
- (no CPE)range: < 2026.2.5-r5
- (no CPE)range: < 2026.2.6-r8
- (no CPE)range: < 11.3.13-r3
- (no CPE)range: < 10.0.2-r0
- (no CPE)range: < 0.49.0-r4
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 8.19.13-r0
- (no CPE)range: < 8.19.13-r0
- (no CPE)range: < 8.19.13-r0
- (no CPE)range: < 9.2.7-r0
- (no CPE)range: < 9.2.7-r0
- (no CPE)range: < 9.3.2-r0
- (no CPE)range: < 9.3.2-r0
- (no CPE)range: < 1.10.0-r12
- (no CPE)range: < 2.15.0-r12
- (no CPE)range: < 2.95.12-r10
- (no CPE)range: < 2.95.12-r10
- (no CPE)range: < 3.155.1-r2
- (no CPE)range: < 3.155.1-r2
- (no CPE)range: < 2.95.12-r15
- (no CPE)range: < 2.95.12-r15
- (no CPE)range: < 3.155.1-r1
- (no CPE)range: < 3.155.1-r1
- (no CPE)range: < 0.8.2-r4
- (no CPE)range: < 2.19.4-r15
- (no CPE)range: < 2.19.4-r11
- (no CPE)range: < 2.19.5-r5
- (no CPE)range: < 2.19.4-r11
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r5
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r3
- (no CPE)range: < 5.14.3-r7
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 43.38.0-r1
- (no CPE)range: < 1.6.0-r0
- (no CPE)range: < 2.18.12-r2
- (no CPE)range: < 14.2.6-r0
- (no CPE)range: < 7.5.7-r28
- (no CPE)range: < 2.21.0-r8
- (no CPE)range: < 5.5.0-r5
- (no CPE)range: < 5.5.0-r6
- (no CPE)range: < 22.0.3-r2
- (no CPE)range: < 23.0.2-r1
- (no CPE)range: < 4.14.4-r1
- (no CPE)range: < 3.7.10-r3
- (no CPE)range: < 4.0.1-r2
- (no CPE)range: < 10.0.2-r0
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 0.19.0-r31
- (no CPE)range: < 1.10.0-r12
- (no CPE)range: < 2.15.0-r12
- (no CPE)range: < 3.155.1-r2
- (no CPE)range: < 3.155.1-r2
- (no CPE)range: < 2.19.4-r15
- (no CPE)range: < 2.19.4-r11
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r5
- (no CPE)range: < 5.14.3-r7
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 4.6.1-r1
- (no CPE)range: < 43.38.0-r1
- (no CPE)range: < 1.6.0-r0
- (no CPE)range: < 14.2.6-r0
- (no CPE)range: < 7.5.7-r28
- (no CPE)range: < 2.21.0-r8
- (no CPE)range: < 5.5.0-r5
- (no CPE)range: < 22.0.3-r2
- (no CPE)range: < 23.0.2-r1
- (no CPE)range: >= 7.0.0-alpha.0, < 8.18.0
Patches
Vulnerability mechanics
References
41- github.com/advisories/GHSA-2g4f-4pwh-qvx6nvdADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-69873ghsaADVISORY
- github.com/EthanKim88/ethan-cve-disclosures/blob/main/CVE-2025-69873-ajv-ReDoS.mdnvdWEB
- github.com/ajv-validator/ajv/commit/720a23fa453ffae8340e92c9b0fe886c54cfe0d5ghsaWEB
- github.com/ajv-validator/ajv/pull/2586ghsaWEB
- github.com/ajv-validator/ajv/pull/2588nvdWEB
- github.com/ajv-validator/ajv/pull/2590nvdWEB
- github.com/ajv-validator/ajv/releases/tag/v6.14.0nvdWEB
- github.com/ajv-validator/ajv/releases/tag/v8.18.0ghsaWEB
- github.com/github/advisory-database/pull/6991nvdWEB
- access.redhat.com/errata/RHSA-2026:10093nvd
- access.redhat.com/errata/RHSA-2026:13512nvd
- access.redhat.com/errata/RHSA-2026:14774nvd
- access.redhat.com/errata/RHSA-2026:15091nvd
- access.redhat.com/errata/RHSA-2026:16874nvd
- access.redhat.com/errata/RHSA-2026:19712nvd
- access.redhat.com/errata/RHSA-2026:26211nvd
- access.redhat.com/errata/RHSA-2026:26214nvd
- access.redhat.com/errata/RHSA-2026:33371nvd
- access.redhat.com/errata/RHSA-2026:36651nvd
- access.redhat.com/errata/RHSA-2026:40118nvd
- access.redhat.com/errata/RHSA-2026:40945nvd
- access.redhat.com/errata/RHSA-2026:40984nvd
- access.redhat.com/errata/RHSA-2026:41941nvd
- access.redhat.com/errata/RHSA-2026:41944nvd
- access.redhat.com/errata/RHSA-2026:5168nvd
- access.redhat.com/errata/RHSA-2026:5807nvd
- access.redhat.com/errata/RHSA-2026:5907nvd
- access.redhat.com/errata/RHSA-2026:5910nvd
- access.redhat.com/errata/RHSA-2026:6192nvd
- access.redhat.com/errata/RHSA-2026:6277nvd
- access.redhat.com/errata/RHSA-2026:6309nvd
- access.redhat.com/errata/RHSA-2026:6497nvd
- access.redhat.com/errata/RHSA-2026:6567nvd
- access.redhat.com/errata/RHSA-2026:6568nvd
- access.redhat.com/errata/RHSA-2026:6802nvd
- access.redhat.com/errata/RHSA-2026:7314nvd
- access.redhat.com/errata/RHSA-2026:9742nvd
- access.redhat.com/security/cve/CVE-2025-69873nvd
- bugzilla.redhat.com/show_bug.cginvd
- security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-69873.jsonnvd
News mentions
0No linked articles in our index yet.