CriticalGHSA-593f-38f6-jp5mCVE-2025-25200
Inefficient Regular Expression Complexity in koa
Published 12 Feb 2025 · Updated 12 Feb 2025
Affected packages
koanpm
- Affected
- >=2.0.0 <2.15.4
- Fixed in
- 2.15.4
Update to the fixed version for your release line, for example:
npm install koa@2.15.4koanpm
- Affected
- >=3.0.0-alpha.0 <3.0.0-alpha.3
- Fixed in
- 3.0.0-alpha.3
Update to the fixed version for your release line, for example:
npm install koa@3.0.0-alpha.3koanpm
- Affected
- >=1.0.0 <1.7.1
- Fixed in
- 1.7.1
Update to the fixed version for your release line, for example:
npm install koa@1.7.1koanpm
- Affected
- <0.21.2
- Fixed in
- 0.21.2
Update to the fixed version for your release line, for example:
npm install koa@0.21.2Details
Summary
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.
PoC
Coming soon.
Impact
This is a Regex Denial-of-Service attack and causes memory exhaustion. The regex should be improved and empty values should not be allowed.
Is GHSA-593f-38f6-jp5m in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected koa, and gives you the command that fixes it.
References
- Linkgithub.com/koajs/koa/security/advisories/GHSA-593f-38f6-jp5m
- Advisorynvd.nist.gov/vuln/detail/CVE-2025-25200
- Linkgithub.com/koajs/koa/commit/5054af6e31ffd451a4151a1fe144cef6e5d0d83c
- Linkgithub.com/koajs/koa/commit/5f294bb1c7c8d9c61904378d250439a321bffd32
- Linkgithub.com/koajs/koa/commit/93fe903fc966635a991bcf890cfc3427d33a1a08
- Packagegithub.com/koajs/koa
- Linkgithub.com/koajs/koa/releases/tag/2.15.4
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.