Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-69201— Http4s: ResourceService and Webjar Service path escape via percent-encoded separators

Quick assessment

Affected
http4s http4s
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Http4s 是一个用于 HTTP 服务的 Scala 接口。在 0.23.35 和 1.0.0-M47 之前,ResourceService 和 WebjarService 会对每个 URL 路径段进行解码,但仅拒绝那些完全等于空字符串、单点(".")或双点("..")的段。如果一个请求包含百分比编码的正斜杠(%2F)或反斜杠(%5C)分隔符,在解码后,原本被接受的段可能会转变为父目录遍历(parent-directory traversal),从而在由目录支持的类路径(classpath)被提供且后端保留编码后

CVSS 5.9 · Medium

Affected Version Matrix 2

VendorProduct Version RangeStatus
http4s http4s < 0.23.35 affected
>= 1.0.0-M1, < 1.0.0-M47 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-69201

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Http4s: ResourceService and Webjar Service path escape via percent-encoded separators
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
对路径名的限制不恰当(路径遍历)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
http4s http4s < 0.23.35 -

II. Public POCs for CVE-2026-69201

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-69201

登录查看更多情报信息。

Patches & Fixes for CVE-2026-69201 (1)

Vendor Advisories for CVE-2026-69201 (1)

Vendor Pages for CVE-2026-69201 (2)

Same Patch Batch · http4s · 2026-09-15 · 18 CVEs total

CVE-2026-69204 9.2 CRITICAL Http4s: Ember accepts Transfer-Encoding combined with Content-Length (CL.TE request smuggl
CVE-2026-69217 8.7 HIGH Http4s: Ember Server accepts duplicate Content-Length headers
CVE-2026-69205 8.7 HIGH Http4s: Ember Transfer-Encoding value parsing (TE.CL / TE.0 request smuggling)
CVE-2026-88975 7.5 HIGH Http4s: Ember HTTP/2 buffers a frame's declared payload before checking SETTINGS_MAX_FRAME
CVE-2026-69202 7.5 HIGH Http4s Ember HTTP/2: unbounded inbound body buffering
CVE-2026-69218 7.5 HIGH Http4s Ember HTTP/2: unbounded continuation frame accumulation
CVE-2026-69210 7.5 HIGH Http4s: WebSocket decoder accepts negative length, causing infinite decode loop
CVE-2026-69213 7.5 HIGH Http4s Ember HTTP/2: unbounded outbound frame queue
CVE-2026-69203 7.5 HIGH Http4s Ember HTTP/2: does not enforce SETTINGS_MAX_CONCURRENT_STREAMS
CVE-2026-69209 7.5 HIGH Http4s: WebSocket decoder accepts unbounded message sizes
CVE-2026-69208 7.5 HIGH Http4s: DigestAuth nonce map grows unbounded
CVE-2026-69214 6.8 MEDIUM Http4s: CookieJar middleware accepts arbitrary Set-Cookie domain
CVE-2026-69215 6.8 MEDIUM Http4s: CookieJar middleware matches by substring, leaking cookies cross-origin
CVE-2026-69212 5.9 MEDIUM Http4s: FollowRedirect middleware leaks credentials over https->http same-authority redire
CVE-2026-69206 5.9 MEDIUM Http4s: DigestAuth allows replay of captured requests
CVE-2026-69216 5.4 MEDIUM Http4s: Ember chunk parser lenience (TE.TE request smuggling)
CVE-2026-69211 4.8 MEDIUM Http4s: Set-Cookie rendering does not escape attribute delimiters

IV. Related Vulnerabilities

V. Comments for CVE-2026-69201

No comments yet


Leave a comment