Open Redirect Affecting koa-remove-trailing-slashes package, versions <2.0.2
Snyk CVSS
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-JS-KOAREMOVETRAILINGSLASHES-1085708
- published 17 May 2021
- disclosed 15 Mar 2021
- credit apple502j
Introduced: 15 Mar 2021
CVE-2021-23384 Open this link in a new tabHow to fix?
Upgrade koa-remove-trailing-slashes
to version 2.0.2 or higher.
Overview
koa-remove-trailing-slashes is a Koa middleware that makes sure all requests does not have trailing slashes
Affected versions of this package are vulnerable to Open Redirect via the use of trailing double slashes in the URL when accessing the vulnerable endpoint (such as https://example.com//attacker.example/
). The vulnerable code is in index.js::removeTrailingSlashes()
, as the web server uses relative URLs instead of absolute URLs.
PoC
// Run the code below to set up a vulnerable server instance
// Then access http://localhost:3000///example.com
const Koa = require('koa');
const removeTrailingSlashes = require('koa-remove-trailing-slashes');
const app = new Koa();
app.use(removeTrailingSlashes());
app.use(ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);