CVE-2021-32643 Http4s
| Affected software | Http4s |
|---|---|
| Severity | 5.8 Medium CVSS 3.1 3 scores |
| Fixed in | 0.21.24, 0.22.0-RC1, 0.23.0-RC1, 1.0.0-M23 |
| Weakness | Path traversal (CWE-22) |
| Published | 27 May 2021 |
| Updated | 17 Jun 2026 |
Description
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.
Exploitation status
No public exploit
No exploit has been reported in the sources we check. Published 5 years ago.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment no assessment published
- Indexed PoC none indexed
- EPSS 1.4% chance in 30 days
Waratek protection
Waratek has a rule that blocks attacks on this vulnerability.
- Protection full Path traversal
- Action available security rule
- Review automated Inferred
- Record active
| Decided by | A vulnerability class already blocked by an ARMR security rule |
|---|---|
| Finding | Protected by Waratek's ARMR path-traversal security rule, which blocks this class of attack at the JVM level without a rule written for this CVE specifically. The CVE's weakness is CWE-22: Path Traversal. |
| Candidate fix | https://github.com/http4s/http4s/commit/52e1890665410b4385e37b96bc49c5e3c708e4e9 : a commit: the change itself |
How to mitigate CVE-2021-32643
Upgrade Http4s to a release that fixes it: 0.21.24, 0.22.0-RC1, 0.23.0-RC1 or 1.0.0-M23. Until you can, Waratek RASP blocks exploitation with its path traversal rule. It runs inside the Java application, with no code changes.
CVSS
5.8 MEDIUM
v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
3 metrics
CVSS
5.8 MEDIUM v3.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
3 metrics
We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| CVSS 3.1 | 5.8 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
security-advisories@github.com | Secondary | published |
| CVSS 3.1 | 5.8 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N |
NVD | Primary | |
| CVSS 2.0 | 5.0 | none | AV:N/AC:L/Au:N/C:P/I:N/A:N |
NVD | Primary |
Affected software and releases
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
org.http4s:http4s-core |
0.21.7 | 0.21.24 |
unbounded |
org.http4s:http4s-core |
0.22.0-M1 | 0.22.0-RC1 |
unbounded |
org.http4s:http4s-core |
0.23.0-M1 | 0.23.0-RC1 |
unbounded |
org.http4s:http4s-core |
1.0.0-M1 | 1.0.0-M23 |
unbounded |
Products and versions
2 products, 36 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| osv | org.http4s | http4s-core | generic | ≥ 0.21.7 and < 0.21.24 · ≥ 0.22.0 and < 0.22.0 · ≥ 0.23.0 and < 0.23.0 · ≥ 1.0.0 and < 1.0.0 |
| nvd | typelevel | http4s | generic | ≥ 0.21.7 and < 0.21.24 · 0.22.0:milestone1 · 0.22.0:milestone2 · 0.22.0:milestone3 · 0.22.0:milestone4 · 0.22.0:milestone5 · 0.22.0:milestone6 · 0.22.0:milestone7 · 0.22.0:milestone8 · 0.23.0:milestone1 · 1.0.0:milestone1 · 1.0.0:milestone10 · 1.0.0:milestone11 · 1.0.0:milestone12 · 1.0.0:milestone13 · 1.0.0:milestone14 · 1.0.0:milestone15 · 1.0.0:milestone16 · 1.0.0:milestone17 · 1.0.0:milestone18 · 1.0.0:milestone19 · 1.0.0:milestone2 · 1.0.0:milestone20 · 1.0.0:milestone21 · 1.0.0:milestone22 · 1.0.0:milestone3 · 1.0.0:milestone4 · 1.0.0:milestone5 · 1.0.0:milestone6 · 1.0.0:milestone7 · 1.0.0:milestone8 · 1.0.0:milestone9 |
References
Timeline
Timeline
| Published | 2021-05-27 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-06-17 | NVD's own last-modified date for this record. |