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

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

Quick assessment

Affected
rack rack
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.

Rack是Rack开源的一个模块化的Ruby web服务器界面。 Rack 2.2.23之前版本、3.1.21之前版本和3.2.6之前版本存在安全漏洞,该漏洞源于Rack::Files#fail使用String#size而非String#bytesize设置Content-Length响应标头,可能导致HTTP响应帧错误。

CVSS 4.8 · Medium EPSS 0.24% · P15

Possible ATT&CK Techniques 1 AI

T1132 · Data Encoding
Get alerts for future matching vulnerabilities Log 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: CVE Program / CVE List V5
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: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
长度参数不一致性处理不恰当
Source: CVE Program / CVE List V5
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

Vendor Product Affected Versions CPE Subscribe
rack rack < 2.2.23 -

II. Public POCs for CVE-2026-34831

# 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-34831

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-34831 (1)

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

CVE-2026-34785 7.5 HIGH Rack: Local file inclusion in `Rack::Static` via URL Prefix Matching
CVE-2026-34827 7.5 HIGH Rack: Algorithmic-Complexity DoS in Rack::Multipart::Parser
CVE-2026-34829 7.5 HIGH Rack: Denial of Service via Unbounded Multipart File Upload Without Content-Length
CVE-2026-34830 5.9 MEDIUM Rack: Rack::Sendfile regex injection via HTTP_X_ACCEL_MAPPING header allows arbitrary file
CVE-2026-34826 5.3 MEDIUM Rack: Unbounded Range Count in get_byte_ranges Enables DoS
CVE-2026-34786 5.3 MEDIUM Rack: Rack::Static header_rules bypass via URL-encoded paths
CVE-2026-34763 5.3 MEDIUM Rack: Rack::Directory info disclosure and DoS via unescaped regex interpolation
CVE-2026-34230 5.3 MEDIUM Rack: Quadratic complexity in Rack::Utils.select_best_encoding via wildcard Accept-Encodin
CVE-2026-26962 4.8 MEDIUM Rack: Header injection in multipart requests
CVE-2026-32762 4.8 MEDIUM Rack: Forwarded Header semicolon injection enables Host and Scheme spoofing
CVE-2026-34835 4.8 MEDIUM Rack: `Rack::Request` accepts invalid Host characters, enabling host allowlist bypass.
CVE-2026-26961 3.7 LOW Rack: Multipart Boundary Parsing Ambiguity allowing WAF Bypass

IV. Related Vulnerabilities

V. Comments for CVE-2026-34831

No comments yet


Leave a comment