CVE-2025-25200 json
Koa has Inefficient Regular Expression Complexity
published 2025-02-12 20 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-4086 , GHSA-593f-38f6-jp5m
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
Summary
Koa is expressive middleware for Node.js using ES2017 async functions. Prior to versions 0.21.2, 1.7.1, 2.15.4, and 3.0.0-alpha.3, Koa uses an evil regex to parse the `X-Forwarded-Proto` and `X-Forwarded-Host` HTTP headers. This can be exploited to carry out a Denial-of-Service attack. Versions 0.21.2, 1.7.1, 2.15.4, and 3.0.0-alpha.3 fix the issue.
Patch / fix
- npm koa 0.21.2, 1.7.1, 2.15.4, 3.0.0-alpha.3
- koajs koa 0.21.2, 1.7.1, 2.15.4, 3.0.0-alpha.3
- github.com/koajs/koa@5054af6 commit
- github.com/koajs/koa@5f294bb commit
- github.com/koajs/koa@93fe903 commit
- github.com/koajs/koa/releases/tag/2.15.4 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 20 mo ago
Exploit prediction
0.84% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.2 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H |
| CNA | 4.0 | 9.2 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | koa | >=2.0.0, <2.15.4 >=3.0.0-alpha.0, <3.0.0-alpha.3 >=1.0.0, <1.7.1 <0.21.2 |
2.15.4 3.0.0-alpha.3 1.7.1 0.21.2 |
Affected products
- koajs koa
Classification
- Weakness
-
- CWE-1333 Inefficient Regular Expression Complexity
References
-
github.com
/koajs/koa/commit/5054af6e31ffd451a4151a1fe144cef6e5d0d83c
web, patch
-
github.com
/koajs/koa/commit/5f294bb1c7c8d9c61904378d250439a321bffd32
web, patch
-
github.com
/koajs/koa/commit/93fe903fc966635a991bcf890cfc3427d33a1a08
web, patch
-
github.com
/koajs/koa/security/advisories/GHSA-593f-38f6-jp5m
web, vendor-advisory
-
github.com
/koajs/koa/blob/master/lib/request.js#L259
product
-
github.com
/koajs/koa/blob/master/lib/request.js#L404
product
-
github.com
/koajs/koa/releases/tag/2.15.4
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2025-25200
advisory
-
github.com
/koajs/koa
package
Sources
- CVE List CVE-2025-25200
- GitHub Advisory GHSA-593f-38f6-jp5m
- NVD CVE-2025-25200
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.