chore(deps): update dependency koa to v2.16.2 [security] - autoclosed #525
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.7.0->2.16.2GitHub Vulnerability Alerts
CVE-2025-25200
Summary
Koa uses an evil regex to parse the
X-Forwarded-ProtoandX-Forwarded-HostHTTP 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.
CVE-2025-32379
Summary
In koa < 2.16.1 and < 3.0.0-alpha.5, passing untrusted user input to ctx.redirect() even after sanitizing it, may execute javascript code on the user who use the app.
Patches
This issue is patched in 2.16.1 and 3.0.0-alpha.5.
PoC
Coming soon...
Impact
CVE-2025-8129
Summary
In the latest version of Koa, the back method used for redirect operations adopts an insecure implementation, which uses the user-controllable referrer header as the redirect target.
Details
on the API document https://www.koajs.net/api/response#responseredirecturl-alt, we can see:
response.redirect(url, [alt])
however, the "back" method is insecure:
Referrer Header is User-Controlled.
PoC
there is a demo for POC:
Proof Of Concept
Impact
https://learn.snyk.io/lesson/open-redirect/
Release Notes
koajs/koa (koa)
v2.16.2Compare Source
What's Changed
Full Changelog: koajs/koa@v2.16.1...v2.16.2
v2.16.1Compare Source
fix: don't render redirect values in anchor ref
v2.16.0Compare Source
This is a backported release to fix core underlying issue with
HEADrequests when usinghttp2.createSecureServer. See discussion at #1593 and #1547.399cb6bv2.15.4Compare Source
Full Changelog: koajs/koa@2.15.3...2.15.4
Fix: avoid redos on host and protocol getter, see GHSA-593f-38f6-jp5m
v2.15.3Compare Source
v2.15.2Compare Source
v2.15.1Compare Source
v2.15.0Compare Source
v2.14.2Compare Source
v2.14.1Compare Source
v2.14.0Compare Source
v2.13.4Compare Source
v2.13.3Compare Source
v2.13.2Compare Source
v2.13.1Compare Source
==================
fixes
b5472f4] - fix: make ESM transpiled CommonJS play nice for TS folks, fix #1513 (#1518) (miwnwski <[email protected]>)68d97d6] - fix: fixed order of vulnerability disclosure addresses (niftylettuce <[email protected]>)others
b4398f5] - correct verb tense in doc (#1512) (Matan Shavit <[email protected]>)39e1a5a] - fixed multiple grammatical errors in docs. (#1497) (Hridayesh Sharma <<vyasriday7@gmail.com>>)aeb5d19] - docs: added [email protected] to vulnerability disclosure (niftylettuce <[email protected]>)6e1093b] - docs: remove babel from readme (#1494) (miwnwski <[email protected]>)38cb591] - docs: update specific for auto response status (AlbertAZ1992 <[email protected]>)2224cd9] - docs: remove babel ref. (#1488) (Imed Jaberi <[email protected]>)d51f983] - docs: fix assert example for response (#1489) (Imed Jaberi <[email protected]>)f8b49b8] - chore: fix grammatical and spelling errors in comments and tests (#1490) (Matt Kubej <[email protected]>)d1c9263] - deps: update depd >> v2.0.0 (#1482) (imed jaberi <[email protected]>)v2.13.0Compare Source
==================
features
bbcde76] - feat: support esm (#1474) (ZYSzys <[email protected]>)others
20e58cf] - test: imporve coverage to 100% (dead-horse <[email protected]>)4a40d63] - build: use prepare instead of prepublish (dead-horse <[email protected]>)226ba8c] - build: use prepublish instead of prepack (dead-horse <[email protected]>)v2.12.1Compare Source
==================
fixes
e2030c7] - fix: Improve checks for Error in onerror handlers (#1468) (Julien Wajsberg <[email protected]>)others
5208c5e] - chore: Use single console.error() statement in error handler (#1471) (Mike Vosseller <[email protected]>)v2.12.0Compare Source
==================
features
0d2f421] - feat: error handler treat err.statusCode as the same as err.status (#1460) (Vijay Krishnavanshi <[email protected]>)8d52105] - feat: allow bodyless responses for non empty status codes (#1447) (ejose19 <<8742215+ejose19@users.noreply.github.com>>)others
faeaff5] - fox: removeerror-injectand fix error handling (#1409) (Konstantin Vyatkin <[email protected]>)f7c732f] - docs: fixed incorrect onerror example (#1459) (Paul Annekov <[email protected]>)143d8f7] - Always use strict equality. (#1225) (Yazan Medanat <[email protected]>)6b6b0dd] - docs(api): add app.use chainability note (#1449) (Zac Anger <[email protected]>)8ddab48] - docs: Document response status with empty body (#1445) (Marc-Aurèle DARCHE <[email protected]>)7deedb2] - docs: Updating context.md with the latest cookies opts (#1433) (Brad Ito <[email protected]>)3e97a10] - docs(links): remove Google+ link (#1439) (laffachan <[email protected]>)eda2760] - build: Drop unused Travis sudo: false directive (#1416) (Olle Jonsson <[email protected]>)v2.11.0Compare Source
==================
features
422e539] - feat: support app.proxyIPHeader and app.maxIpsCount to make ctx.ips more security (Yiyu He <[email protected]>)d48d88e] - feat: implement response.has (#1397) (Konstantin Vyatkin <[email protected]>)others
4dc56f6] - chore: update ESLint and plugins/configs (#1407) (Konstantin Vyatkin <[email protected]>)be7d334] - chore: removes code duplication at handling HEAD method (#1400) (Konstantin Vyatkin <[email protected]>)f155785] - chore: supportwritableEnded(#1402) (Konstantin Vyatkin <[email protected]>)b968688] - chore: add FUNDING.yml (#1403) (Konstantin Vyatkin <[email protected]>)4f96829] - chore: remove isJSON in res.length (#1399) (Konstantin Vyatkin <[email protected]>)8be5626] - build: enable codecov partial coverage and use bash uploader (#1396) (Konstantin Vyatkin <[email protected]>)ef5c43b] - chore: use rest params (#1393) (Konstantin Vyatkin <[email protected]>)v2.10.0Compare Source
==================
features
d7f7f77] - feat: support sameSite=none cookies (bump cookies dependency) (#1390) (Filip Skokan <[email protected]>)v2.9.0Compare Source
==================
features
2d1c598] - feat: export HttpError from http-errors library (Micheal Hill <[email protected]>)others
cf70dbc] - Chore: Use https in readme (#1389) (谭九鼎 <<109224573@qq.com>>)v2.8.2Compare Source
==================
fixes
54e8fab] - fix: encode redirect url if not already encoded (#1384) (fengmk2 <<fengmk2@gmail.com>>)others
817b498] - test: fix body test (#1375) (Robert Nagy <[email protected]>)f75d445] - test: fix end after end (#1374) (Robert Nagy <[email protected]>)v2.8.1Compare Source
==================
fixes
287e589] - fix: make options more compatibility (dead-horse <[email protected]>)v2.8.0Compare Source
==================
features
5afff89] - feat: accept options in the Application constructor (#1372) (Jake <[email protected]>)fixes
ff70bdc] - fix: typo on document (#1355) (Jeff <[email protected]>)others
3b23865] - docs: parameter of request.get is case-insensitive (#1373) (Gunnlaugur Thor Briem <[email protected]>)a245d18] - docs: Update response.socket (#1357) (Jeff <[email protected]>)d1d65dd] - chore(deps): install egg-bin, mm as devDeps not deps (#1366) (Edvard Chen <<pigeon73101@gmail.com>>)2c86b10] - test: remove jest and use egg-bin(mocha) (#1363) (Yiyu He <[email protected]>)219bf22] - docs(context): update link (#1354) (Peng Jie <[email protected]>)52a6737] - chore: ignore Intellij IDEA project files (#1361) (Imon-Haque <[email protected]>)b9e3546] - docs(api): fix keygrip link (#1350) (Peng Jie <[email protected]>)d4bdb5e] - chore: update eslint and fix lint errors (dead-horse <[email protected]>)12960c4] - build: test on 8/10/12 (dead-horse <[email protected]>)00e8f7a] - docs: ctx.type aliases ctx.response, not ctx.request (#1343) (Alex Berk <[email protected]>)62f29eb] - docs(context): update cookies link (#1348) (Peng Jie <[email protected]>)b7fc526] - docs: fix typo in cookie path default value docs (#1340) (Igor Adamenko <[email protected]>)23f7f54] - chore: simplify variable (#1332) (kzhang <[email protected]>)132c9ee] - docs: Clarify the format of request.headers (#1325) (Dobes Vandermeer <[email protected]>)5810f27] - docs: Removed Document in Progress note in Koa vs Express (#1336) (Andrew Peterson <[email protected]>)75233d9] - chore: Consider removing this return statement; it will be ignored. (#1322) (Vern Brandl <[email protected]>)04e07fd] - test: Buffer() is deprecated due to security and usability issues. so use the Buffer.alloc() instead (#1321) (Vern Brandl <[email protected]>)130e363] - docs: use 'fs-extra' instead of 'fs-promise' (#1309) (rosald <[email protected]>)2f2078b] - chore: Update PR-welcome badge url (#1299) (James George <<jamesgeorge998001@gmail.com>>)Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.