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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2026-34831— Rack: Content-Length mismatch in Rack::Files error responses

CVSS 4.8 · Medium EPSS 0.04% · P13
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-34831

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
Rack: Content-Length mismatch in Rack::Files error responses
Source: NVD (National Vulnerability Database)
Vulnerability Description
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Files#fail sets the Content-Length response header using String#size instead of String#bytesize. When the response body contains multibyte UTF-8 characters, the declared Content-Length is smaller than the number of bytes actually sent on the wire. Because Rack::Files reflects the requested path in 404 responses, an attacker can trigger this mismatch by requesting a non-existent path containing percent-encoded UTF-8 characters. This results in incorrect HTTP response framing and may cause response desynchronization in deployments that rely on the incorrect Content-Length value. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.
Source: NVD (National Vulnerability Database)
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Source: NVD (National Vulnerability Database)
Vulnerability Type
长度参数不一致性处理不恰当
Source: NVD (National Vulnerability Database)
Vulnerability Title
Rack 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Rack是Rack开源的一个模块化的Ruby web服务器界面。 Rack 2.2.23之前版本、3.1.21之前版本和3.2.6之前版本存在安全漏洞,该漏洞源于Rack::Files#fail使用String#size而非String#bytesize设置Content-Length响应标头,可能导致HTTP响应帧错误。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
rackrack < 2.2.23 -

II. Public POCs for CVE-2026-34831

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-34831

登录查看更多情报信息。

Same Patch Batch · rack · 2026-04-02 · 13 CVEs total

CVE-2026-347857.5 HIGHRack: Local file inclusion in `Rack::Static` via URL Prefix Matching
CVE-2026-348277.5 HIGHRack: Algorithmic-Complexity DoS in Rack::Multipart::Parser
CVE-2026-348297.5 HIGHRack: Denial of Service via Unbounded Multipart File Upload Without Content-Length
CVE-2026-348305.9 MEDIUMRack: Rack::Sendfile regex injection via HTTP_X_ACCEL_MAPPING header allows arbitrary file
CVE-2026-348265.3 MEDIUMRack: Unbounded Range Count in get_byte_ranges Enables DoS
CVE-2026-347865.3 MEDIUMRack: Rack::Static header_rules bypass via URL-encoded paths
CVE-2026-347635.3 MEDIUMRack: Rack::Directory info disclosure and DoS via unescaped regex interpolation
CVE-2026-342305.3 MEDIUMRack: Quadratic complexity in Rack::Utils.select_best_encoding via wildcard Accept-Encodin
CVE-2026-269624.8 MEDIUMRack: Header injection in multipart requests
CVE-2026-327624.8 MEDIUMRack: Forwarded Header semicolon injection enables Host and Scheme spoofing
CVE-2026-348354.8 MEDIUMRack: `Rack::Request` accepts invalid Host characters, enabling host allowlist bypass.
CVE-2026-269613.7 LOWRack: Multipart Boundary Parsing Ambiguity allowing WAF Bypass

IV. Related Vulnerabilities

V. Comments for CVE-2026-34831

No comments yet


Leave a comment