CVE-2025-69873: n/a
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.
AI Analysis
Technical Summary
The vulnerability CVE-2025-69873 affects ajv (Another JSON Schema Validator), a widely used JavaScript library for validating JSON schemas. Specifically, versions through 8.17.1 are vulnerable when the $data option is enabled, which allows schema patterns to be dynamically defined at runtime using JSON Pointer syntax. The pattern keyword accepts this runtime data and passes it directly to the JavaScript RegExp constructor without any sanitization or validation. This enables an attacker to inject malicious regular expressions designed to cause catastrophic backtracking, a condition where the regex engine consumes exponentially increasing CPU resources when processing crafted input. For example, a pattern like "^(a|a)*$" combined with a carefully constructed input string can cause the CPU to be blocked for approximately 44 seconds with only a 31-character payload, with execution time doubling for each additional character. This results in a potent Regular Expression Denial of Service (ReDoS) attack that can be triggered remotely via a single HTTP request to any API using ajv with $data: true for dynamic schema validation. The vulnerability does not affect confidentiality or integrity but severely impacts availability. No authentication or user interaction is required, making exploitation straightforward if the vulnerable configuration is present. The CVSS v3.1 score is 7.5 (High), reflecting the network attack vector, low attack complexity, no privileges required, no user interaction, and a high impact on availability. No patches or fixes are currently linked, and no known exploits have been reported in the wild as of the publication date.
Potential Impact
This vulnerability can cause complete denial of service of APIs or services that use ajv with the $data option enabled for dynamic schema validation. The ReDoS attack leads to excessive CPU consumption, blocking legitimate requests and potentially causing service outages or degraded performance. Organizations relying on ajv in critical web applications, microservices, or API gateways are at risk of disruption. The attack requires only a single crafted HTTP request, making it easy to weaponize and potentially scalable for attackers. While confidentiality and integrity are not directly impacted, the availability loss can lead to significant operational and reputational damage, especially for high-traffic or customer-facing services. Additionally, the lack of authentication or user interaction requirements broadens the attack surface, allowing remote unauthenticated attackers to exploit the vulnerability. This can also facilitate secondary attacks, such as distraction during other intrusions or resource exhaustion in multi-tenant environments.
Mitigation Recommendations
To mitigate this vulnerability, organizations should first identify all instances where ajv is used with the $data option enabled for dynamic schema validation. Immediate mitigation includes disabling the $data option if dynamic pattern validation is not strictly necessary. If dynamic patterns are required, implement strict validation or sanitization of any runtime regex patterns before they are passed to the RegExp constructor to prevent malicious input. Monitoring and rate limiting incoming requests to APIs using ajv can help reduce the risk of large-scale exploitation. Employing Web Application Firewalls (WAFs) with custom rules to detect and block suspicious regex patterns or anomalous request payloads may also be effective. Organizations should track updates from the ajv maintainers and apply patches promptly once available. Additionally, consider using alternative JSON schema validators that do not expose similar dynamic regex injection risks or that have built-in protections against ReDoS. Conduct thorough testing of regex patterns used in schemas to identify potential catastrophic backtracking scenarios before deployment.
Affected Countries
United States, Germany, United Kingdom, Canada, Australia, France, Netherlands, Japan, South Korea, India
CVE-2025-69873: n/a
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.
AI-Powered Analysis
Technical Analysis
The vulnerability CVE-2025-69873 affects ajv (Another JSON Schema Validator), a widely used JavaScript library for validating JSON schemas. Specifically, versions through 8.17.1 are vulnerable when the $data option is enabled, which allows schema patterns to be dynamically defined at runtime using JSON Pointer syntax. The pattern keyword accepts this runtime data and passes it directly to the JavaScript RegExp constructor without any sanitization or validation. This enables an attacker to inject malicious regular expressions designed to cause catastrophic backtracking, a condition where the regex engine consumes exponentially increasing CPU resources when processing crafted input. For example, a pattern like "^(a|a)*$" combined with a carefully constructed input string can cause the CPU to be blocked for approximately 44 seconds with only a 31-character payload, with execution time doubling for each additional character. This results in a potent Regular Expression Denial of Service (ReDoS) attack that can be triggered remotely via a single HTTP request to any API using ajv with $data: true for dynamic schema validation. The vulnerability does not affect confidentiality or integrity but severely impacts availability. No authentication or user interaction is required, making exploitation straightforward if the vulnerable configuration is present. The CVSS v3.1 score is 7.5 (High), reflecting the network attack vector, low attack complexity, no privileges required, no user interaction, and a high impact on availability. No patches or fixes are currently linked, and no known exploits have been reported in the wild as of the publication date.
Potential Impact
This vulnerability can cause complete denial of service of APIs or services that use ajv with the $data option enabled for dynamic schema validation. The ReDoS attack leads to excessive CPU consumption, blocking legitimate requests and potentially causing service outages or degraded performance. Organizations relying on ajv in critical web applications, microservices, or API gateways are at risk of disruption. The attack requires only a single crafted HTTP request, making it easy to weaponize and potentially scalable for attackers. While confidentiality and integrity are not directly impacted, the availability loss can lead to significant operational and reputational damage, especially for high-traffic or customer-facing services. Additionally, the lack of authentication or user interaction requirements broadens the attack surface, allowing remote unauthenticated attackers to exploit the vulnerability. This can also facilitate secondary attacks, such as distraction during other intrusions or resource exhaustion in multi-tenant environments.
Mitigation Recommendations
To mitigate this vulnerability, organizations should first identify all instances where ajv is used with the $data option enabled for dynamic schema validation. Immediate mitigation includes disabling the $data option if dynamic pattern validation is not strictly necessary. If dynamic patterns are required, implement strict validation or sanitization of any runtime regex patterns before they are passed to the RegExp constructor to prevent malicious input. Monitoring and rate limiting incoming requests to APIs using ajv can help reduce the risk of large-scale exploitation. Employing Web Application Firewalls (WAFs) with custom rules to detect and block suspicious regex patterns or anomalous request payloads may also be effective. Organizations should track updates from the ajv maintainers and apply patches promptly once available. Additionally, consider using alternative JSON schema validators that do not expose similar dynamic regex injection risks or that have built-in protections against ReDoS. Conduct thorough testing of regex patterns used in schemas to identify potential catastrophic backtracking scenarios before deployment.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- mitre
- Date Reserved
- 2026-01-09T00:00:00.000Z
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 698cce794b57a58fa1b3e299
Added to database: 2/11/2026, 6:46:17 PM
Last enriched: 2/19/2026, 2:10:13 PM
Last updated: 2/20/2026, 10:46:09 PM
Views: 171
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2026-2043: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') in Nagios Host
HighCVE-2026-2042: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') in Nagios Host
HighCVE-2026-2041: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') in Nagios Host
HighCVE-2026-2040: CWE-427: Uncontrolled Search Path Element in PDF-XChange PDF-XChange Editor
HighCVE-2026-2039: CWE-862: Missing Authorization in GFI Archiver
HighActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.