CVE-2021-32643 json
StaticFile.fromUrl can leak presence of a directory
published 2021-05-27 5 y ago modified 2026-07-08 4 mo ago also GHSA-6h7w-fc84-x7p6 , EUVD-2021-0971
- cvss
- 5.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.4%
- EPSS 1.4% chance of exploitation in 30 days, percentile 72%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- maven org.http4s:http4s-core 0.21.24, 0.22.0-RC1, 0.23.0-RC1, 1.0.0-M23
- typelevel http4s 0.21.24
Exploit prediction
1.40% chance of exploitation in the next 30 days, higher than 72% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
| NVD | 3.1 | 5.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| GitHub | 3.1 | 5.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.http4s:http4s-core | >=0.21.7, <0.21.24 >=0.22.0-M1, <0.22.0-RC1 >=0.23.0-M1, <0.23.0-RC1 >=1.0.0-M1, <1.0.0-M23 |
0.21.24 0.22.0-RC1 0.23.0-RC1 1.0.0-M23 |
Affected products
- http4s http4s
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/http4s/http4s/commit/52e1890665410b4385e37b96bc49c5e3c708e4e9
web, patch, third-party-advisory
-
github.com
/http4s/http4s/security/advisories/GHSA-6h7w-fc84-x7p6
web, patch, third-party-advisory
-
mvnrepository.com
/artifact/org.http4s/http4s-core
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-32643
advisory
Sources
- CVE List CVE-2021-32643
- GitHub Advisory GHSA-6h7w-fc84-x7p6
- NVD CVE-2021-32643
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.