fastify/fastify-static · Security
DOS and Open Redirect with user input
- GHSA ID
- GHSA-pgh6-m65r-2rhq
- CVE ID
- CVE-2021-22964
- Severity
- high
- Published
- Updated
- CVSS
- 8.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:H
- CVSS v3
- 8.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:H
Description
Impact
A redirect vulnerability in the fastify-static module allows remote attackers to redirect Mozilla Firefox users to arbitrary websites via a double slash // followed by a domain: http://localhost:3000//a//youtube.com/%2e%2e%2f%2e%2e.
A DOS vulnerability is possible if the URL contains invalid characters curl --path-as-is "http://localhost:3000//^/.."
The issue shows up on all the fastify-static applications that set redirect: true option. By default, it is false.
Patches
The issue has been patched in [email protected]
Workarounds
If updating is not an option, you can sanitize the input URLs using the rewriteUrl server option.
References
- Bug founder: drstrnegth
- hackerone Report
For more information
If you have any questions or comments about this advisory:
- Open an issue in fastify-static
- Contact the security team
CWEs
- CWE-248 · Uncaught Exception
- CWE-601 · URL Redirection to Untrusted Site ('Open Redirect')
References
- https://github.com/fastify/fastify-static/security/advisories/GHSA-pgh6-m65r-2rhq ↗
- https://github.com/fastify/fastify-static/commit/c31f17d107cb19a0e96733c80a9abf16c56166d4 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2021-22964 ↗
- https://hackerone.com/reports/1361804 ↗
- https://github.com/advisories/GHSA-pgh6-m65r-2rhq ↗