Request body not stripped after redirect in urllib3
Key facts
- Attack vector
- Adjacent network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- High
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Partial Red Hat: 36 fixed, 13 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-200.
Summary
urllib3 is a user-friendly HTTP client library for Python. urllib3 previously wouldn't remove the HTTP request body when an HTTP redirect response using status 301, 302, or 303 after the request had its method changed from one that could accept a request body (like `POST`) to `GET` as is required by HTTP RFCs. Although this behavior is not specified in the section for redirects, it can be inferred by piecing together information from different sections and we have observed the behavior in other major HTTP client implementations like curl and web browsers. Because the vulnerability requires a previously trusted service to become compromised in order to have an impact on confidentiality we believe the exploitability of this vulnerability is low. Additionally, many users aren't putting sensitive data in HTTP request bodies, if this is the case then this vulnerability isn't exploitable. Both of the following conditions must be true to be affected by this vulnerability: 1. Using urllib3 and submitting sensitive information in the HTTP request body (such as form data or JSON) and 2. The origin service is compromised and starts redirecting using 301, 302, or 303 to a malicious peer or the redirected-to service becomes compromised. This issue has been addressed in versions 1.26.18 and 2.0.7 and users are advised to update to resolve this issue. Users unable to update should disable redirects for services that aren't expecting to respond with redirects with `redirects=False` and disable automatic redirects with `redirects=False` and handle 301, 302, and 303 redirects manually by stripping the HTTP request body.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| python-pillow | urllib3 | 2.0.0 to before 2.0.7; before 1.26.18 | 2.0.7, 1.26.18 | Patch available | CNA |
| — | urllib3 (PyPI) | 2.0.0 to before 2.0.7 | 2.0.7 | Patch available | GHSA-g4mx-q9vg-27p4 |
| — | urllib3 (PyPI) | before 1.26.18 | 1.26.18 | Patch available | GHSA-g4mx-q9vg-27p4 |
- urllib3 Vendorpython-pillow Affected 2.0.0 to before 2.0.7; before 1.26.18 Fixed in 2.0.7, 1.26.18 Patch available CNA
- urllib3 (PyPI) Vendor— Affected 2.0.0 to before 2.0.7 Fixed in 2.0.7 Patch available GHSA-g4mx-q9vg-27p4
- urllib3 (PyPI) Vendor— Affected before 1.26.18 Fixed in 1.26.18 Patch available GHSA-g4mx-q9vg-27p4
CPE configurations NVD · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:urllib3:*:*:*:*:*:*:*:* | before 1.26.18; 2.0.0 to before 2.0.7 | Vulnerable | python-pillow |
| cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:* | 38 | Vulnerable | Fedoraproject |
- cpe:2.3:a:python:urllib3:*:*:*:*:*:*:*:* Versions before 1.26.18; 2.0.0 to before 2.0.7 Vulnerable ·python-pillow
- cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:* Versions 38 Vulnerable ·Fedoraproject
Remediation
- Fix · CNA urllib3 (urllib3) Fixed in 2.0.7, 1.26.18
- Fix · GHSA-g4mx-q9vg-27p4 urllib3 (PyPI) Fixed in 2.0.7 Advisory →
- Fix · GHSA-g4mx-q9vg-27p4 urllib3 (PyPI) Fixed in 1.26.18 Advisory →
Red Hat 17 advisories
- RHSA-2025:1793 Released 2025-02-25 · Red Hat rating Moderatepython3.11-urllib3 security update
- Red Hat Enterprise Linux AppStream EUS (v.9.4) python3.11-urllib3-1.26.12-2.el9_4.2
- RHSA-2025:1813 Released 2025-02-25 · Red Hat rating Moderatepython3.11-urllib3 security update
- Red Hat Enterprise Linux AppStream EUS (v.9.2) python3.11-urllib3-1.26.12-1.el9_2.1
- RHSA-2025:0078 Released 2025-01-08 · Red Hat rating Moderatepython3.11-urllib3 security update
- Red Hat Enterprise Linux AppStream EUS (v.8.8) python3.11-urllib3-1.26.12-1.el8_8.2
Show 14 more Red Hat advisories
- RHSA-2024:11238 Released 2024-12-17 · Red Hat rating Moderatepython3.11-urllib3 security update
- Red Hat Enterprise Linux AppStream (v. 9) python3.11-urllib3-1.26.12-2.el9_5.2
- RHSA-2024:11189 Released 2024-12-17 · Red Hat rating Moderatepython3.11-urllib3 security update
- Red Hat Enterprise Linux AppStream (v. 8) python3.11-urllib3-1.26.12-5.el8_10
- RHSA-2024:2734 Released 2024-05-22 · Red Hat rating ModerateRed Hat OpenStack Platform 17.1 (python-urllib3) security update
- Red Hat OpenStack Platform 17.1 python-urllib3-1.25.10-6.el8ost, python3-urllib3-1.25.10-6.el8ost
- RHSA-2024:2988 Released 2024-05-22 · Red Hat rating Moderatecontainer-tools:rhel8 security update
- Red Hat Enterprise Linux AppStream (v. 8) aardvark-dns-2:1.10.0-1.module+el8.10.0+21209+52deeb51.aarch64::container-tools:rhel8, aardvark-dns-2:1.10.0-1.module+el8.10.0+21209+52deeb51.ppc64le::container-tools:rhel8, aardvark-dns-2:1.10.0-1.module+el8.10.0+21209+52deeb51.s390x::container-tools:rhel8 +47
- RHSA-2024:2968 Released 2024-05-22 · Red Hat rating Moderatefence-agents security and bug fix update
- Red Hat Enterprise Linux AppStream (v. 8) fence-agents-4.2.1-129.el8, fence-agents-all-4.2.1-129.el8, fence-agents-amt-ws-4.2.1-129.el8 +40
- Red Hat Enterprise Linux HighAvailability (v. 8) fence-agents-aliyun-4.2.1-129.el8, fence-agents-aws-4.2.1-129.el8, fence-agents-azure-arm-4.2.1-129.el8 +2
- Red Hat Enterprise Linux ResilientStorage (v. 8) fence-agents-aliyun-4.2.1-129.el8, fence-agents-aws-4.2.1-129.el8, fence-agents-azure-arm-4.2.1-129.el8 +2
- RHSA-2024:2952 Released 2024-05-22 · Red Hat rating Moderateresource-agents security and bug fix update
- Red Hat Enterprise Linux HighAvailability (v. 8) resource-agents-4.9.0-54.el8, resource-agents-aliyun-4.9.0-54.el8, resource-agents-gcp-4.9.0-54.el8 +1
- Red Hat Enterprise Linux ResilientStorage (v. 8) resource-agents-4.9.0-54.el8, resource-agents-aliyun-4.9.0-54.el8, resource-agents-gcp-4.9.0-54.el8 +1
- RHSA-2024:2132 Released 2024-04-30 · Red Hat rating Moderatefence-agents security and bug fix update
- Red Hat Enterprise Linux AppStream (v. 9) fence-agents-4.10.0-62.el9, fence-agents-common-4.10.0-62.el9, fence-agents-compute-4.10.0-62.el9 +11
- Red Hat Enterprise Linux HighAvailability (v. 9) fence-agents-aliyun-4.10.0-62.el9, fence-agents-all-4.10.0-62.el9, fence-agents-amt-ws-4.10.0-62.el9 +39
- Red Hat Enterprise Linux ResilientStorage (v. 9) fence-agents-aliyun-4.10.0-62.el9, fence-agents-all-4.10.0-62.el9, fence-agents-amt-ws-4.10.0-62.el9 +39
- RHSA-2024:1383 Released 2024-03-19 · Red Hat rating ImportantRed Hat OpenShift Data Foundation 4.15.0 security, enhancement, & bug fix update
- RHODF 4.15 for RHEL 9 odf4/cephcsi-rhel9, odf4/mcg-core-rhel9, odf4/mcg-operator-bundle +23
- RHSA-2024:1155 Released 2024-03-05 · Red Hat rating Moderatefence-agents security update
- Red Hat Enterprise Linux AppStream EUS (v.9.0) fence-agents-4.10.0-20.el9_0.11, fence-agents-common-4.10.0-20.el9_0.11, fence-agents-compute-4.10.0-20.el9_0.11 +12
- Red Hat Enterprise Linux High Availability EUS (v.9.0) fence-agents-aliyun-4.10.0-20.el9_0.11, fence-agents-all-4.10.0-20.el9_0.11, fence-agents-amt-ws-4.10.0-20.el9_0.11 +39
- Red Hat Enterprise Linux Resilient Storage EUS (v.9.0) fence-agents-aliyun-4.10.0-20.el9_0.11, fence-agents-all-4.10.0-20.el9_0.11, fence-agents-amt-ws-4.10.0-20.el9_0.11 +39
- RHSA-2024:0588 Released 2024-01-30 · Red Hat rating Moderatepython-urllib3 security update
- Red Hat Enterprise Linux BaseOS EUS (v.8.8) python-urllib3-1.24.2-5.el8_8.1, python3-urllib3-1.24.2-5.el8_8.1
- RHSA-2024:0464 Released 2024-01-25 · Red Hat rating Moderatepython-urllib3 security update
- Red Hat Enterprise Linux BaseOS (v. 9) python-urllib3-1.26.5-3.el9_3.1, python3-urllib3-1.26.5-3.el9_3.1
- RHSA-2024:0300 Released 2024-01-18 · Red Hat rating Moderatepython-urllib3 security update
- Red Hat Enterprise Linux BaseOS EUS (v.8.6) python-urllib3-1.24.2-5.el8_6.1, python3-urllib3-1.24.2-5.el8_6.1
- RHSA-2024:0116 Released 2024-01-10 · Red Hat rating Moderatepython-urllib3 security update
- Red Hat Enterprise Linux BaseOS (v. 8) python-urllib3-1.24.2-5.el8_9.2, python3-urllib3-1.24.2-5.el8_9.2
- RHSA-2023:7851 Released 2023-12-14 · Red Hat rating ModerateSatellite 6.14.1 Async Security Update
- Red Hat Satellite 6.14 for RHEL 8 createrepo_c-1.0.2-2.el8pc, createrepo_c-libs-1.0.2-2.el8pc, foreman-3.7.0.10-1.el8sat +47
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Certification for Red Hat Enterprise Linux 8 | Affected | No fix planned: Will not fix |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | — |
| Red Hat OpenShift Data Science (RHODS) | Affected | No fix planned: Will not fix |
| Red Hat OpenStack Platform 10 (Newton) | Affected | — |
| Red Hat OpenStack Platform 13 (Queens) | Affected | — |
| Red Hat OpenStack Platform 15 (Stein) | Affected | — |
| Red Hat Quay 3 | Affected | No fix yet |
| Red Hat Software Collections | Affected | No fix planned: Will not fix |
| Red Hat Storage 3 | Affected | No fix planned: Will not fix |
| RHODF 4.15 for RHEL 9 | Fixed | RHSA-2024:1383 |
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2024:11189, RHSA-2024:2968, RHSA-2024:2988 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2024:11238, RHSA-2024:2132 |
| Red Hat Enterprise Linux AppStream AUS (v.8.4) | Fixed | — |
| Red Hat Enterprise Linux AppStream E4S (v.8.4) | Fixed | — |
| Red Hat Enterprise Linux AppStream EUS (v.8.6) | Fixed | — |
| Red Hat Enterprise Linux AppStream EUS (v.8.8) | Fixed | RHSA-2025:0078 |
| Red Hat Enterprise Linux AppStream EUS (v.9.0) | Fixed | RHSA-2024:1155 |
| Red Hat Enterprise Linux AppStream EUS (v.9.2) | Fixed | RHSA-2025:1813 |
| Red Hat Enterprise Linux AppStream EUS (v.9.4) | Fixed | RHSA-2025:1793 |
| Red Hat Enterprise Linux AppStream TUS (v.8.4) | Fixed | — |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2024:0116 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2024:0464 |
| Red Hat Enterprise Linux BaseOS EUS (v.8.6) | Fixed | RHSA-2024:0300 |
| Red Hat Enterprise Linux BaseOS EUS (v.8.8) | Fixed | RHSA-2024:0588 |
| Red Hat Enterprise Linux High Availability (v. 8) | Fixed | — |
| Red Hat Enterprise Linux High Availability (v. 9) | Fixed | — |
| Red Hat Enterprise Linux High Availability AUS (v.8.4) | Fixed | — |
| Red Hat Enterprise Linux High Availability EUS (v.8.6) | Fixed | — |
| Red Hat Enterprise Linux High Availability EUS (v.8.8) | Fixed | — |
| Red Hat Enterprise Linux High Availability EUS (v.9.0) | Fixed | RHSA-2024:1155 |
| Red Hat Enterprise Linux High Availability EUS (v.9.2) | Fixed | — |
| Red Hat Enterprise Linux HighAvailability (v. 8) | Fixed | RHSA-2024:2952, RHSA-2024:2968 |
| Red Hat Enterprise Linux HighAvailability (v. 9) | Fixed | RHSA-2024:2132 |
| Red Hat Enterprise Linux HighAvailability E4S (v.8.4) | Fixed | — |
| Red Hat Enterprise Linux HighAvailability TUS (v.8.4) | Fixed | — |
| Red Hat Enterprise Linux Resilient Storage (v. 8) | Fixed | — |
| Red Hat Enterprise Linux Resilient Storage (v. 9) | Fixed | — |
| Red Hat Enterprise Linux Resilient Storage EUS (v.8.6) | Fixed | — |
| Red Hat Enterprise Linux Resilient Storage EUS (v.8.8) | Fixed | — |
| Red Hat Enterprise Linux Resilient Storage EUS (v.9.0) | Fixed | RHSA-2024:1155 |
| Red Hat Enterprise Linux Resilient Storage EUS (v.9.2) | Fixed | — |
| Red Hat Enterprise Linux ResilientStorage (v. 8) | Fixed | RHSA-2024:2952, RHSA-2024:2968 |
| Red Hat Enterprise Linux ResilientStorage (v. 9) | Fixed | RHSA-2024:2132 |
| Red Hat OpenStack Platform 17.1 | Fixed | RHSA-2024:2734 |
| Red Hat Satellite 6.14 for RHEL 8 | Fixed | RHSA-2023:7851 |
Not affected: 8 products
- Red Hat Ansible Automation Platform 2
- Red Hat Discovery 1
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift Container Platform 3.11
- Red Hat OpenShift Container Platform 4
- Red Hat Satellite 6
- Red Hat Satellite 6.14 for RHEL 8
Timeline
- 2026-10-02 Threatist record created from CVE-2023-45803
- 2026-10-03 Alias added: GHSA-g4mx-q9vg-27p4
- 2026-10-30 Fix available: Red Hat Enterprise Linux High Availability (v. 8), Red Hat Enterprise Linux Resilient Storage (v. 8) · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
References
Advisory 3
Other 13
- https://lists.fedoraproject.org/archives/list/[email protected]/message/PPDPLM6UUMN55ESPQWJFLLIZY4ZKCNRX/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/4R2Y5XK3WALSR3FNAGN7JBYV2B343ZKB/
- https://lists.fedoraproject.org/archives/list/[email protected]/message/5F5CUBAN5XMEBVBZPHFITBLMJV5FIJJ5/
- https://github.com/urllib3/urllib3/commit/4e50fbc5db74e32cabd5ccc1ab81fc103adfe0b3
- https://github.com/urllib3/urllib3/commit/b594c5ceaca38e1ac215f916538fb128e3526a36
- https://github.com/pypa/advisory-database/tree/main/vulns/urllib3/PYSEC-2023-212.yaml
- https://github.com/urllib3/urllib3
- https://github.com/urllib3/urllib3/releases/tag/1.26.18
- https://github.com/urllib3/urllib3/releases/tag/2.0.7
- https://lists.debian.org/debian-lts-announce/2024/12/msg00020.html
- https://lists.fedoraproject.org/archives/list/[email protected]/message/4R2Y5XK3WALSR3FNAGN7JBYV2B343ZKB
- https://lists.fedoraproject.org/archives/list/[email protected]/message/5F5CUBAN5XMEBVBZPHFITBLMJV5FIJJ5
- https://lists.fedoraproject.org/archives/list/[email protected]/message/PPDPLM6UUMN55ESPQWJFLLIZY4ZKCNRX
More python-pillow Urllib3 vulnerabilities
- TI-2026-17326 urllib3 vulnerable to decompression-bomb safeguard bypass when following HTTP redirects (streaming API) CVSS 4.0HIGH 8.9
- TI-2018-14221 urllib3 before version 1.23 does not remove the Authorization HTTP header when following… CVSS 3.0CRITICAL 9.8
- TI-2025-40854 urllib3 allows an unbounded number of links in the decompression chain CVSS 4.0HIGH 8.9
- TI-2026-32373 urllib3: Decompression-bomb safeguards bypassed in parts of the streaming API CVSS 4.0HIGH 8.9
- TI-2025-40898 urllib3 Streaming API improperly handles highly compressed data CVSS 4.0HIGH 8.9
- TI-2021-12905 An issue was discovered in urllib3 before 1.26.5. CVSS 3.1HIGH 7.5
Sources
- CVE-2023-45803 · CVE Program
- CVE-2023-45803 · NVD
- FIRST EPSS
- GHSA-g4mx-q9vg-27p4 · GitHub Advisory Database · CC BY 4.0
- CVE-2023-45803 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences