{"ecosystem":"npm","package":"ajv","version":null,"bugs":[{"id":300,"ecosystem":"npm","package_name":"ajv","affected_version":null,"fixed_version":"6.12.3","bug_id":"osv:GHSA-v88g-cgmw-v5xw","title":"Prototype Pollution in Ajv","description":"An issue was discovered in ajv.validate() in Ajv (aka Another JSON Schema Validator) 6.12.2. A carefully crafted JSON schema could be provided that allows execution of other code by prototype pollution. (While untrusted schemas are recommended against, the worst case of an untrusted schema should be a denial of service, not execution of code.)","severity":"medium","status":"fixed","source":"osv","source_url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15366","labels":["CVE-2020-15366"],"created_at":"2026-04-19T04:31:00.606853+00:00","updated_at":"2026-04-19T04:31:00.606853+00:00"},{"id":299,"ecosystem":"npm","package_name":"ajv","affected_version":"7.0.0-alpha.0","fixed_version":"8.18.0","bug_id":"osv:GHSA-2g4f-4pwh-qvx6","title":"ajv has ReDoS when using `$data` option","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.","severity":"medium","status":"fixed","source":"osv","source_url":"https://nvd.nist.gov/vuln/detail/CVE-2025-69873","labels":["CVE-2025-69873"],"created_at":"2026-04-19T04:31:00.605800+00:00","updated_at":"2026-04-19T04:31:00.605800+00:00"}],"total":2,"_cache":"miss"}