Bug 2570213 (CVE-2026-125109)

Summary: CVE-2026-125109 rack: Rack: Security bypass and URL manipulation via invalid HTTP host headers
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: akostadi, amasferr, crizzo, dmayorov, eglynn, eshamard, jjoyce, jlledo, jpretori, jschluet, jvasik, kaycoth, lhh, mburns, mgarciac, pantinor, rblanco, rhel-process-autobot, tsedmik, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Rack. A remote attacker can exploit this vulnerability by sending HTTP requests with specially crafted host headers containing invalid characters. Because the interface returns unvalidated host data when authority validation fails, applications relying on it to construct URLs may be manipulated into redirecting users to malicious destinations, bypassing security allowlists, or reflecting unescaped content.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-11-10 19:43:35 UTC
Rack is a modular Ruby web server interface. From 3.0 until 3.1.23 and 3.2.8, Rack::Request#host_with_port, #base_url, and #url can return an attacker-controlled invalid authority from Host, X-Forwarded-Host, or Forwarded: host= verbatim. Applications without an independent host allowlist that use these methods for absolute URLs, redirects, or origin-dependent checks can emit attacker-chosen delimiters, enabling redirect manipulation, string-based allowlist bypass, or unescaped markup reflection. Rails overrides these methods and is not expected to be affected. This issue is fixed in versions 3.1.23 and 3.2.8.