PT-2026-46304

CVE-2026-44889

·

Published

2026-06-04

·

Updated

2026-09-15

Description by

CVSS 3.1
6.1
Medium
MetricsAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Name of the Vulnerable Software and Affected Versions WebOb versions prior to 1.8.10
Description An open redirect occurs when the software normalizes the HTTP Location header to include the request hostname. The process involves parsing the redirect URL using Python's urllib.parse and joining it to the base URL. Because urlsplit (called internally by urljoin) treats a // at the start of a string as a URI without a scheme, it interprets the subsequent part as the hostname, replacing the original request hostname.
Although a previous attempt was made to mitigate this by replacing // with /%2f, Python 3.10 and later versions of urlsplit internally strip ASCII tab, carriage return, and newline characters. Consequently, a string such as /t/attacker.com is converted to //attacker.com, bypassing the previous fix and allowing redirection to an external domain.
Recommendations Update to version 1.8.10. As a temporary workaround, rewrite any use of the Response class that includes a location to ensure a full URI including the hostname is passed, or validate that the redirect target starts with a scheme such as http:// or https:// before assigning it to Response.location.
Exploitability
Exploit
Fix
Impacts
Researchers
Vendors
Affected products
Related identifiers
GHSA-FH3H-VG37-CC95
AZL-91362
ECHO-0B2F-27C4-24AA
OESA-2026-2679
OPENSUSE-SU-2026:11041-1
OPENSUSE-SU-2026:21063-1
PYSEC-2026-251
SUSE-SU-2026:22370-1
SUSE-SU-2026:2982-1
USN-8759-1
Found an issue in the description? Have something to add? Feel free to write us 👾