Bug 2292788 (CVE-2024-37891) - CVE-2024-37891 urllib3: proxy-authorization request header is not stripped during cross-origin redirects [NEEDINFO]
Summary: CVE-2024-37891 urllib3: proxy-authorization request header is not stripped du...
Keywords:
Status: NEW
Alias: CVE-2024-37891
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2292792 2292794 2293152 2293153 2293154 2293155 2293157 2293158 2293159 2293160 2293162 2293163 2293164 2293167 2293169 2293173 2293176 2293178 2293180 2293181 2293183 2293188 2293189 2293190 2292790 2292791 2292793 2292795 2293156 2293161 2293165 2293166 2293168 2293170 2293171 2293172 2293174 2293175 2293177 2293179 2293182 2293184 2293185 2293186 2293187
Blocks: 2292796
TreeView+ depends on / blocked
 
Reported: 2024-06-17 22:33 UTC by Robb Gatica
Modified: 2024-07-04 04:23 UTC (History)
79 users (show)

Fixed In Version: urllib3 1.26.19, urllib3 2.2.2
Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in urllib3, an HTTP client library for Python. In certain configurations, urllib3 does not treat the `Proxy-Authorization` HTTP header as one carrying authentication material. This issue results in not stripping the header on cross-origin redirects.
Clone Of:
Environment:
Last Closed:
Embargoed:
ybuenos: needinfo? (rgatica)


Attachments (Terms of Use)

Description Robb Gatica 2024-06-17 22:33:14 UTC
urllib3 is a user-friendly HTTP client library for Python. When using urllib3's proxy support with `ProxyManager`, the `Proxy-Authorization` header is only sent to the configured proxy, as expected. However, when sending HTTP requests without using urllib3's proxy support, it's possible to accidentally configure the `Proxy-Authorization` header even though it won't have any effect as the request is not using a forwarding proxy or a tunneling proxy. In those cases, urllib3 doesn't treat the `Proxy-Authorization` HTTP header as one carrying authentication material and thus doesn't strip the header on cross-origin redirects. 

Because this is a highly unlikely scenario, we believe the severity of this vulnerability is low for almost all users. Out of an abundance of caution urllib3 will automatically strip the `Proxy-Authorization` header during cross-origin redirects to avoid the small chance that users are doing this on accident. Users should use urllib3's proxy support or disable automatic redirects to achieve safe processing of the `Proxy-Authorization` header, but we still decided to strip the header by default in order to further protect users who aren't using the correct approach. 

We believe the number of usages affected by this advisory is low. It requires all of the following to be true to be exploited: 1. Setting the `Proxy-Authorization` header without using urllib3's built-in proxy support. 2. Not disabling HTTP redirects. 3. Either not using an HTTPS origin server or for the proxy or target origin to redirect to a malicious origin. Users are advised to update to either version 1.26.19 or version 2.2.2. Users unable to upgrade may use the `Proxy-Authorization` header with urllib3's `ProxyManager`, disable HTTP redirects using `redirects=False` when sending requests, or not user the `Proxy-Authorization` header as mitigations.

https://github.com/urllib3/urllib3/commit/accff72ecc2f6cf5a76d9570198a93ac7c90270e
https://github.com/urllib3/urllib3/security/advisories/GHSA-34jh-p97f-mpxf

Comment 1 Robb Gatica 2024-06-17 22:41:35 UTC
Created mingw-python-urllib3 tracking bugs for this issue:

Affects: fedora-all [bug 2292791]


Created python-urllib3 tracking bugs for this issue:

Affects: fedora-all [bug 2292790]

Comment 3 Avinash Hanwate 2024-06-20 04:42:15 UTC
Created cascadia-code-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293160]


Created cura tracking bugs for this issue:

Affects: fedora-all [bug 2293161]


Created docker-compose tracking bugs for this issue:

Affects: epel-all [bug 2293152]
Affects: fedora-all [bug 2293162]


Created duplicity tracking bugs for this issue:

Affects: fedora-all [bug 2293163]


Created google-roboto-mono-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293164]


Created mote tracking bugs for this issue:

Affects: epel-all [bug 2293153]


Created mrsw-biz-udgothic-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293165]


Created mrsw-biz-udmincho-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293166]


Created ndiscover-exo-2-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293167]


Created oci-cli tracking bugs for this issue:

Affects: fedora-all [bug 2293168]


Created offlineimap tracking bugs for this issue:

Affects: fedora-all [bug 2293169]


Created pipenv tracking bugs for this issue:

Affects: fedora-all [bug 2293170]


Created pypy tracking bugs for this issue:

Affects: fedora-all [bug 2293171]


Created python-WSGIProxy2 tracking bugs for this issue:

Affects: fedora-all [bug 2293172]


Created python-ansible-compat tracking bugs for this issue:

Affects: fedora-all [bug 2293173]


Created python-commoncode tracking bugs for this issue:

Affects: fedora-all [bug 2293174]


Created python-container-inspector tracking bugs for this issue:

Affects: fedora-all [bug 2293175]


Created python-dbus-next tracking bugs for this issue:

Affects: fedora-all [bug 2293176]


Created python-debian-inspector tracking bugs for this issue:

Affects: fedora-all [bug 2293177]


Created python-docker tracking bugs for this issue:

Affects: epel-all [bug 2293154]


Created python-extractcode tracking bugs for this issue:

Affects: fedora-all [bug 2293178]


Created python-ffmpeg-python tracking bugs for this issue:

Affects: fedora-all [bug 2293179]


Created python-flake8-builtins tracking bugs for this issue:

Affects: fedora-all [bug 2293180]


Created python-hvac tracking bugs for this issue:

Affects: epel-all [bug 2293155]


Created python-mercantile tracking bugs for this issue:

Affects: fedora-all [bug 2293181]


Created python-pip tracking bugs for this issue:

Affects: fedora-all [bug 2293182]


Created python-pip-epel tracking bugs for this issue:

Affects: epel-all [bug 2293156]


Created python-play-scraper tracking bugs for this issue:

Affects: fedora-all [bug 2293183]


Created python-plugincode tracking bugs for this issue:

Affects: fedora-all [bug 2293184]


Created python-pygments-better-html tracking bugs for this issue:

Affects: fedora-all [bug 2293185]


Created python-smart-gardena tracking bugs for this issue:

Affects: epel-all [bug 2293157]


Created python-tornado tracking bugs for this issue:

Affects: fedora-all [bug 2293186]


Created python-typecode tracking bugs for this issue:

Affects: fedora-all [bug 2293187]


Created python38-hvac tracking bugs for this issue:

Affects: epel-all [bug 2293158]


Created rst2pdf tracking bugs for this issue:

Affects: fedora-all [bug 2293188]


Created sorkintype-merriweather-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293189]


Created sorkintype-merriweather-sans-fonts tracking bugs for this issue:

Affects: fedora-all [bug 2293190]


Created transifex-client tracking bugs for this issue:

Affects: epel-all [bug 2293159]

Comment 10 Miro Hrončok 2024-06-20 12:06:36 UTC
Why did you open bugzillas for so many unrelated Fedora and EPEL packages?

Comment 12 Lumír Balhar 2024-06-27 09:16:06 UTC
There is no tracker for python-urllib3 in RHEL 8.


Note You need to log in before you can comment on or make changes to this bug.