CVE-2026-125109
Full vulnerability record from the local CVENow database.
Description
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.
Severity
MEDIUM
CVSS score
4.8
(v3.1)
Vulnerability status
Received
Source identifier
Published
2026-11-09 22:18:42.127000
Last modified
2026-11-09 22:18:42.127000
View original CVE JSON
{
"id": "CVE-2026-125109",
"sourceIdentifier": "[email protected]",
"published": "2026-11-09T22:18:42.127",
"lastModified": "2026-11-09T22:18:42.127",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "rack",
"product": "rack",
"versions": [
{
"version": ">= 3.0, < 3.1.23",
"status": "affected"
},
{
"version": ">= 3.2, < 3.2.8",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N",
"baseScore": 4.8,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.2,
"impactScore": 2.5
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "CWE-1286"
}
]
}
],
"references": [
{
"url": "https://github.com/rack/rack/commit/4380381a56dc52556a436d6d794c8e18dc8b0565",
"source": "[email protected]"
},
{
"url": "https://github.com/rack/rack/commit/49386f460286b7346c7003b69a839de782cc8a39",
"source": "[email protected]"
},
{
"url": "https://github.com/rack/rack/releases/tag/v3.1.23",
"source": "[email protected]"
},
{
"url": "https://github.com/rack/rack/releases/tag/v3.2.8",
"source": "[email protected]"
},
{
"url": "https://github.com/rack/rack/security/advisories/GHSA-2j8w-xcrc-x985",
"source": "[email protected]"
}
]
}