Vulnerability Details : CVE-2021-21328
Vapor is a web framework for Swift. In Vapor before version 4.40.1, there is a DoS attack against anyone who Bootstraps a metrics backend for their Vapor app. The following is the 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. 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.
Vulnerability category: Denial of service
Products affected by CVE-2021-21328
- cpe:2.3:a:vapor_project:vapor:*:*:*:*:*:swift:*:*
Exploit prediction scoring system (EPSS) score for CVE-2021-21328
0.44%
Probability of exploitation activity in the next 30 days
EPSS Score History
~ 61 %
Percentile, the proportion of vulnerabilities that are scored at or less
CVSS scores for CVE-2021-21328
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source | First Seen |
---|---|---|---|---|---|---|
5.0
|
MEDIUM | AV:N/AC:L/Au:N/C:N/I:N/A:P |
10.0
|
2.9
|
NIST | |
5.3
|
MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
3.9
|
1.4
|
NIST | |
5.3
|
MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
3.9
|
1.4
|
GitHub, Inc. |
CWE ids for CVE-2021-21328
-
The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.Assigned by: security-advisories@github.com (Primary)
References for CVE-2021-21328
-
https://github.com/vapor/vapor/commit/e3aa712508db2854ac0ab905696c65fd88fa7e23
Merge pull request from GHSA-gcj9-jj38-hwmc · vapor/vapor@e3aa712 · GitHubPatch;Third Party Advisory
-
https://github.com/vapor/vapor/security/advisories/GHSA-gcj9-jj38-hwmc
Vapor's Metrics integration could cause a system drain · Advisory · vapor/vapor · GitHubThird Party Advisory
-
https://vapor.codes/
Product
-
https://github.com/vapor/vapor/releases/tag/4.40.1
Release Rewrite metrics path and method to undefined for unknown routes · vapor/vapor · GitHubRelease Notes;Third Party Advisory
Jump to