Vulnerability Details : CVE-2021-32643
Http4s is a Scala interface for HTTP services. `StaticFile.fromUrl` can leak the presence of a directory on a server when the `URL` scheme is not `file://`, and the URL points to a fetchable resource under its scheme and authority. The function returns `F[None]`, indicating no resource, if `url.getFile` is a directory, without first checking the scheme or authority of the URL. If a URL connection to the scheme and URL would return a stream, and the path in the URL exists as a directory on the server, the presence of the directory on the server could be inferred from the 404 response. The contents and other metadata about the directory are not exposed. This affects http4s versions: 0.21.7 through 0.21.23, 0.22.0-M1 through 0.22.0-M8, 0.23.0-M1, and 1.0.0-M1 through 1.0.0-M22. The [patch](https://github.com/http4s/http4s/commit/52e1890665410b4385e37b96bc49c5e3c708e4e9) is available in the following versions: v0.21.24, v0.22.0-M9, v0.23.0-M2, v1.0.0-M23. As a workaround users can avoid calling `StaticFile.fromUrl` with non-file URLs.
Vulnerability category: Directory traversal
Products affected by CVE-2021-32643
- cpe:2.3:a:typelevel:http4s:*:*:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone1:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone2:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone3:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone4:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone5:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone6:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone7:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.22.0:milestone8:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:0.23.0:milestone1:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone1:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone10:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone17:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone18:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone19:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone20:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone21:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone22:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone11:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone12:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone13:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone14:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone15:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone16:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone2:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone3:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone4:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone5:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone6:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone7:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone8:*:*:*:*:*:*
- cpe:2.3:a:typelevel:http4s:1.0.0:milestone9:*:*:*:*:*:*
Exploit prediction scoring system (EPSS) score for CVE-2021-32643
0.10%
Probability of exploitation activity in the next 30 days
EPSS Score History
~ 39 %
Percentile, the proportion of vulnerabilities that are scored at or less
CVSS scores for CVE-2021-32643
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source | First Seen |
---|---|---|---|---|---|---|
5.0
|
MEDIUM | AV:N/AC:L/Au:N/C:P/I:N/A:N |
10.0
|
2.9
|
NIST | |
5.8
|
MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
3.9
|
1.4
|
NIST | |
5.8
|
MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
3.9
|
1.4
|
GitHub, Inc. |
CWE ids for CVE-2021-32643
-
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.Assigned by:
- nvd@nist.gov (Primary)
- security-advisories@github.com (Secondary)
References for CVE-2021-32643
-
https://mvnrepository.com/artifact/org.http4s/http4s-core
Maven Repository: org.http4s » http4s-coreThird Party Advisory
-
https://github.com/http4s/http4s/commit/52e1890665410b4385e37b96bc49c5e3c708e4e9
Fix directory leak in StaticFile.fromUrl · http4s/http4s@52e1890 · GitHubPatch;Third Party Advisory
-
https://github.com/http4s/http4s/security/advisories/GHSA-6h7w-fc84-x7p6
StaticFile.fromUrl can leak presence of a directory · Advisory · http4s/http4s · GitHubPatch;Third Party Advisory
Jump to