Medium severity · published Sep 15, 2026
CVE-2026-69201
Http4s: ResourceService and Webjar Service path escape via percent-encoded separators
5.9
CVSS
0.8%
EPSS
No
On KEV
Description
Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, ResourceService and WebjarService decode each URL path segment but reject only segments exactly equal to an empty string, a dot, or two dots. A request containing percent-encoded slash or backslash separators can turn an accepted segment into a parent-directory traversal after decoding, allowing access to classpath or WebJar resources outside the configured base when a directory-backed classpath is served and the backend preserves the encoded separator. The patch rejects decoded segments containing slash or backslash in ResourceService and WebjarService, and applies the same guard to the non-exploitable FileService for consistency. This issue is fixed in versions 0.23.35 and 1.0.0-M47.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.8% · higher than 55% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
HT
http4s · http4s
< 0.23.35; >= 1.0.0-M1, < 1.0.0-M47 · source: vendor
Affected product
HT
http4s
http4s
More from http4s
9.2
CVE-2026-69204
Http4s: Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggling)
8.7
CVE-2026-69217
Http4s: Ember Server accepts duplicate Content-Length headers
8.7
CVE-2026-69205
Http4s: Ember Transfer-Encoding value parsing (TE.CL / TE.0 request smuggling)
8.2
CVE-2026-54556
Http4s: HTTP/2 Denial of Service with Ember Backend
7.5
CVE-2026-88975
Http4s: Ember HTTP/2 buffers a frame's declared payload before checking SETTINGS_MAX_FRAME_SIZE