GitHub Advisoryadvisory · SwiftURL
GHSA-gcj9-jj38-hwmc Vapor's Metrics integration could cause a system drain
MEDIUM
Official page ↗
- Aliases
- CVE-2021-21328
- Ecosystem
- SwiftURL
- Packages
- github.com/vapor/vapor
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-400
- Reviewed
- 2023-06-09
Affected packages
• SwiftURL github.com/vapor/vapor: < 4.40.1 → fixed in 4.40.1
Description
Impact
This is a DoS attack against anyone who Bootstraps a metrics backend for their Vapor app with the following attack vector:
1. send unlimited requests against a vapor instance with different paths. this will create “unlimited” counters and timers, which will eventually drain the system.
2. downstream services might suffer from this attack as well by being spammed with error paths
Patches
This has been patched in 4.40.1. The `DefaultResponder` will rewrite any undefined route paths for to `vapor_route_undefined` to avoid unlimited counters.
Workarounds
Don't bootstrap a metrics system or upgrade to 4.40.1
For more information
If you have any questions or comments about this advisory:
• Open an issue in Vapor
• Ask in Discord
Related
Alias · CVE (1)
- CVE-2021-21328 Vapor is a web framework for Swift. vulnerability
Weakness · CWE (1)
- CWE-400 Uncontrolled Resource Consumption weakness
References
- https://github.com/vapor/vapor/security/advisories/GHSA-gcj9-jj38-hwmc web
- https://nvd.nist.gov/vuln/detail/CVE-2021-21328 advisory
- https://github.com/vapor/vapor/commit/e3aa712508db2854ac0ab905696c65fd88fa7e23 web
- https://github.com/vapor/vapor web
- https://github.com/vapor/vapor/releases/tag/4.40.1 web
- https://vapor.codes web