Inefficient regular expression complexity in Ajv - CVE-2025-69873

 

Inefficient regular expression complexity in Ajv - CVE-2025-69873

Published: March 6, 2026


Vulnerability identifier: #VU123598
CSH Severity: Low
CVSS v4.0: CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U/U:Clear
CVE-ID: CVE-2025-69873
CWE-ID: CWE-1333
Exploitation vector: Local access
Exploit availability: No public exploit available
Vendor: Ajv
Affected software:
Ajv

Detailed vulnerability description

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.


How to mitigate CVE-2025-69873

Cybersecurity Help is currently unaware of any official solution to address this vulnerability..

Sources