CVE Explorer
CVE-2026-34831
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
Known exploited
Not asserted
Disputed
No
Stale source
No
Conflicts
1
Preserved source conflicts
No provider value was silently selected as the winner.
cwe · 2 assertions
{"cweId":"CWE-130","description":"CWE-130: Improper Handling of Length Parameter Inconsistency","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/problemTypes/0/descriptions/0
{"cweId":"CWE-135","description":"CWE-135: Incorrect Calculation of Multi-Byte String Length","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/problemTypes/1/descriptions/0
Affected products and versions
1 source assertion{"product":"rack","vendor":"rack","versions":[{"status":"affected","version":"< 2.2.23"},{"status":"affected","version":">= 3.0.0.beta1, < 3.1.21"},{"status":"affected","version":">= 3.2.0, < 3.2.6"}]}
- cve_program_cvelist_v5affectedurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/affected/0
Provider-owned CVSS observations
1 source assertion{"metric":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4.8,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","version":"3.1"},"metric_type":"cvssV3_1"}
- cve_program_cvelist_v5cvssurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/metrics/0/cvssV3_1
CWE assertions
2 source assertions{"cweId":"CWE-130","description":"CWE-130: Improper Handling of Length Parameter Inconsistency","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/problemTypes/0/descriptions/0
{"cweId":"CWE-135","description":"CWE-135: Incorrect Calculation of Multi-Byte String Length","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/problemTypes/1/descriptions/0
Source references
1 source assertion{"name":"https://github.com/rack/rack/security/advisories/GHSA-q2ww-5357-x388","tags":["x_refsource_CONFIRM"],"url":"https://github.com/rack/rack/security/advisories/GHSA-q2ww-5357-x388"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:1dff47042dcd2019f15a955d438c91aff352458fb9a899fc0a1c085d98fa9609 · sha256:582b15a04be3b024… · /containers/cna/references/0
Attribution and limitations
- CVE Program CVEList V5: Reproduce the MITRE copyright designation and CVE license in copies. Source →
Provider severity values are preserved separately. Baitaphish does not convert them into a risk rating, infer affected products, or treat EPSS as observed exploitation.