{"api_version":"1","generated_at":"2026-11-10T23:25:44+00:00","cve":"CVE-2026-125109","urls":{"html":"https://cve.report/CVE-2026-125109","api":"https://cve.report/api/cve/CVE-2026-125109.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-125109","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-125109"},"summary":{"title":"Rack: Rack::Request#host_with_port (and #base_url / #url) return the raw invalid Host header — incomplete fix of CVE-2026-34835","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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-11-09 22:18:42","updated_at":"2026-11-10 17:17:26"},"problem_types":["CWE-1286","CWE-1286 CWE-1286: Improper Validation of Syntactic Correctness of Input"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"4.8","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","data":{"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"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"4.8","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N","data":{"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"}}],"references":[{"url":"https://github.com/rack/rack/commit/4380381a56dc52556a436d6d794c8e18dc8b0565","name":"https://github.com/rack/rack/commit/4380381a56dc52556a436d6d794c8e18dc8b0565","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/rack/rack/security/advisories/GHSA-2j8w-xcrc-x985","name":"https://github.com/rack/rack/security/advisories/GHSA-2j8w-xcrc-x985","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/rack/rack/releases/tag/v3.1.23","name":"https://github.com/rack/rack/releases/tag/v3.1.23","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/rack/rack/commit/49386f460286b7346c7003b69a839de782cc8a39","name":"https://github.com/rack/rack/commit/49386f460286b7346c7003b69a839de782cc8a39","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/rack/rack/releases/tag/v3.2.8","name":"https://github.com/rack/rack/releases/tag/v3.2.8","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-125109","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125109","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"rack","product":"rack","version":"affected >= 3.0, < 3.1.23","platforms":[]},{"source":"CNA","vendor":"rack","product":"rack","version":"affected >= 3.2, < 3.2.8","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-125109","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-11-10T16:17:53.102307Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-11-10T16:18:06.940Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"rack","vendor":"rack","versions":[{"status":"affected","version":">= 3.0, < 3.1.23"},{"status":"affected","version":">= 3.2, < 3.2.8"}]}],"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."}],"metrics":[{"cvssV3_1":{"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1286","description":"CWE-1286: Improper Validation of Syntactic Correctness of Input","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-11-09T21:57:46.924Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/rack/rack/security/advisories/GHSA-2j8w-xcrc-x985","tags":["x_refsource_CONFIRM"],"url":"https://github.com/rack/rack/security/advisories/GHSA-2j8w-xcrc-x985"},{"name":"https://github.com/rack/rack/commit/4380381a56dc52556a436d6d794c8e18dc8b0565","tags":["x_refsource_MISC"],"url":"https://github.com/rack/rack/commit/4380381a56dc52556a436d6d794c8e18dc8b0565"},{"name":"https://github.com/rack/rack/commit/49386f460286b7346c7003b69a839de782cc8a39","tags":["x_refsource_MISC"],"url":"https://github.com/rack/rack/commit/49386f460286b7346c7003b69a839de782cc8a39"},{"name":"https://github.com/rack/rack/releases/tag/v3.1.23","tags":["x_refsource_MISC"],"url":"https://github.com/rack/rack/releases/tag/v3.1.23"},{"name":"https://github.com/rack/rack/releases/tag/v3.2.8","tags":["x_refsource_MISC"],"url":"https://github.com/rack/rack/releases/tag/v3.2.8"}],"source":{"advisory":"GHSA-2j8w-xcrc-x985","discovery":"UNKNOWN"},"title":"Rack: Rack::Request#host_with_port (and #base_url / #url) return the raw invalid Host header — incomplete fix of CVE-2026-34835"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-125109","datePublished":"2026-11-09T21:57:46.924Z","dateReserved":"2026-11-09T17:45:35.935Z","dateUpdated":"2026-11-10T16:18:06.940Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-09 22:18:42","lastModifiedDate":"2026-11-10 17:17:26","problem_types":["CWE-1286","CWE-1286 CWE-1286: Improper Validation of Syntactic Correctness of Input"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","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}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-11-10T16:17:53.102307Z","id":"CVE-2026-125109","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"125109","Ordinal":"1","Title":"Rack: Rack::Request#host_with_port (and #base_url / #url) return","CVE":"CVE-2026-125109","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"125109","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Rack: Rack::Request#host_with_port (and #base_url / #url) return"}]}}}