{"id":"UBUNTU-CVE-2026-44889","details":"WebOb provides objects for HTTP requests and responses. Prior to 1.8.10, the normalization of the HTTP Location header during a redirect is vulnerable to an open redirect: WebOb joins the redirect target to the request URI using Python's urljoin, and since Python 3.10 the underlying urlsplit strips ASCII tab, carriage return, and newline characters before parsing, so a redirect target containing such characters can be reinterpreted as a protocol-relative URL whose authority is an attacker-controlled host. This bypasses the CVE-2024-42353 fix that escaped a leading double slash, allowing an attacker who influences the redirect location to send users to an arbitrary external site instead of the intended one. This vulnerability is fixed in 1.8.10.","modified":"2026-09-16T14:01:45.239956316Z","published":"2026-06-22T22:16:00Z","related":["USN-8759-1"],"upstream":["CVE-2026-44889"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-44889"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-44889"},{"type":"REPORT","url":"https://github.com/Pylons/webob/security/advisories/GHSA-fh3h-vg37-cc95"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-8759-1"}],"affected":[{"package":{"name":"python-webob","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=esm-infra-legacy%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.1-1ubuntu0.1~esm2"}]}],"versions":["1.4.1-1","1.5.1-1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.5.1-1ubuntu0.1~esm2","binary_name":"python-webob"},{"binary_name":"python3-webob","binary_version":"1.5.1-1ubuntu0.1~esm2"}],"availability":"Available with Ubuntu Pro with Legacy support add-on: https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}},{"package":{"name":"python-webob","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.7.3-2ubuntu0.1~esm2"}]}],"versions":["1:1.7.2-0ubuntu1","1:1.7.3-0ubuntu1","1:1.7.3-2fakesync1"],"ecosystem_specific":{"binaries":[{"binary_name":"python-webob","binary_version":"1:1.7.3-2ubuntu0.1~esm2"},{"binary_name":"python3-webob","binary_version":"1:1.7.3-2ubuntu0.1~esm2"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}},{"package":{"name":"python-webob","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=esm-infra%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.8.5-2ubuntu0.1+esm1"}]}],"versions":["1:1.8.5-1","1:1.8.5-1build1","1:1.8.5-2","1:1.8.5-2ubuntu0.1"],"ecosystem_specific":{"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro","binaries":[{"binary_name":"python3-webob","binary_version":"1:1.8.5-2ubuntu0.1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}},{"package":{"name":"python-webob","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.8.6-1.1ubuntu0.2"}]}],"versions":["1:1.8.6-1.1","1:1.8.6-1.1ubuntu0.1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-webob","binary_version":"1:1.8.6-1.1ubuntu0.2"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}},{"package":{"name":"python-webob","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.8.7-1ubuntu0.1.24.04.2"}]}],"versions":["1:1.8.6-3","1:1.8.7-1","1:1.8.7-1ubuntu0.1.24.04.1"],"ecosystem_specific":{"binaries":[{"binary_version":"1:1.8.7-1ubuntu0.1.24.04.2","binary_name":"python3-webob"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}},{"package":{"name":"python-webob","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:1.8.9-1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-webob","binary_version":"1:1.8.9-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}},{"package":{"name":"python-webob","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/python-webob?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.8.9-1ubuntu0.1"}]}],"versions":["1:1.8.9-1"],"ecosystem_specific":{"binaries":[{"binary_version":"1:1.8.9-1ubuntu0.1","binary_name":"python3-webob"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44889.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"type":"Ubuntu","score":"medium"}]}