Inefficient regular expression complexity in Ajv - CVE-2025-69873
Published: March 6, 2026
Vulnerability details
The vulnerability allows a local user to perform a denial of service (DoS) attack.
The vulnerability exists due to the pattern keyword accepts runtime data via JSON Pointer syntax ($data reference), which is passed directly to the JavaScript RegExp() constructor without validation, when the $data option is enabled. A local user can 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.
Affected software
Guardium Data Security Center (GDSC)
watsonx Code Assistant On Prem
Maximo Application Suite - Monitor Component
Jira Service Management Data Center
IBM Maximo Application Suite - Manage Component
Jira Software Data Center
OpenShift Data Foundation (formerly OpenShift Container Storage)
How to mitigate CVE-2025-69873
Guardium Data Security Center (GDSC) - update to 3.8.8
watsonx Code Assistant On Prem - update to 5.3.1
Jira Service Management Data Center - addressed in versions 10.3.23, 11.3.7
Maximo Application Suite - Monitor Component - addressed in versions 8.10.30, 8.11.28, 9.0.20, 9.1.10
IBM Maximo Application Suite - Manage Component - update to 9.1.15
Jira Software Data Center - addressed in versions 10.3.23, 11.3.7
OpenShift Data Foundation (formerly OpenShift Container Storage) - addressed in versions 4.18.25, 4.19.20
External 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
Related Security Bulletins
- Inefficient regular expression complexity in ajv
- Multiple vulnerabilities in IBM watsonx Code Assistant On Prem
- IBM Maximo Application Suite - Manage Component update for ajv
- Multiple vulnerabilities in IBM Guardium Data Security Center
- IBM Maximo Application Suite - Monitor Component update for ajv
- Multiple vulnerabilities in OpenShift Data Foundation (formerly OpenShift Container Storage) 4.18
- Multiple vulnerabilities in OpenShift Data Foundation (formerly OpenShift Container Storage) 4.19
- Multiple vulnerabilities in Jira Service Management Data Center
- Multiple vulnerabilities in Jira Software Data Center