Skip to content

Commit c06dd00

Browse files
1 parent 4d1cb89 commit c06dd00

1 file changed

Lines changed: 30 additions & 3 deletions

File tree

advisories/github-reviewed/2026/02/GHSA-2g4f-4pwh-qvx6/GHSA-2g4f-4pwh-qvx6.json

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"schema_version": "1.4.0",
33
"id": "GHSA-2g4f-4pwh-qvx6",
4-
"modified": "2026-02-17T18:10:29Z",
4+
"modified": "2026-02-20T20:59:11Z",
55
"published": "2026-02-11T21:30:39Z",
66
"aliases": [
77
"CVE-2025-69873"
88
],
9-
"summary": "ajv has ReDoS when using $data option",
9+
"summary": "ajv has ReDoS when using `$data` option",
1010
"details": "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.",
1111
"severity": [
1212
{
@@ -25,14 +25,33 @@
2525
"type": "ECOSYSTEM",
2626
"events": [
2727
{
28-
"introduced": "0"
28+
"introduced": "7.0.0-alpha.0"
2929
},
3030
{
3131
"fixed": "8.18.0"
3232
}
3333
]
3434
}
3535
]
36+
},
37+
{
38+
"package": {
39+
"ecosystem": "npm",
40+
"name": "ajv"
41+
},
42+
"ranges": [
43+
{
44+
"type": "ECOSYSTEM",
45+
"events": [
46+
{
47+
"introduced": "0"
48+
},
49+
{
50+
"fixed": "6.14.0"
51+
}
52+
]
53+
}
54+
]
3655
}
3756
],
3857
"references": [
@@ -44,6 +63,10 @@
4463
"type": "WEB",
4564
"url": "https://github.com/ajv-validator/ajv/pull/2586"
4665
},
66+
{
67+
"type": "WEB",
68+
"url": "https://github.com/ajv-validator/ajv/pull/2588"
69+
},
4770
{
4871
"type": "WEB",
4972
"url": "https://github.com/ajv-validator/ajv/commit/720a23fa453ffae8340e92c9b0fe886c54cfe0d5"
@@ -56,6 +79,10 @@
5679
"type": "PACKAGE",
5780
"url": "https://github.com/ajv-validator/ajv"
5881
},
82+
{
83+
"type": "WEB",
84+
"url": "https://github.com/ajv-validator/ajv/releases/tag/v6.14.0"
85+
},
5986
{
6087
"type": "WEB",
6188
"url": "https://github.com/ajv-validator/ajv/releases/tag/v8.18.0"

0 commit comments

Comments
 (0)