CVE-2023-45803
Public on
Last Modified:
Description
A flaw was found in urllib3, an HTTP client library for Python. urllib3 doesn't remove the HTTP request body when an HTTP redirect response using status 301, 302, or 303, after changing the method in a request from one that could accept a request body such as POST to GET, as is required by HTTP RFCs. This issue requires a previously trusted service to become compromised in order to have an impact on confidentiality, therefore, the exploitability of this vulnerability is low. Additionally, many users aren't putting sensitive data in HTTP request bodies; if this is the case, this vulnerability isn't exploitable.
Statement
Both of the following conditions must be true to be affected by this vulnerability:
- Using urllib3 and submitting sensitive information in the HTTP request body such as form data or JSON
- The origin service is compromised and starts redirecting using 301, 302, or 303 to a malicious peer or the redirected-to service becomes compromised
Mitigation
Users unable to update should disable redirects for services that aren't expecting to respond with redirects with `redirects=False`, disable automatic redirects with `redirects=False`, and handle 301, 302, and 303 redirects manually by stripping the HTTP request body.
Additional Information
- This content is not included.Bugzilla 2246840: urllib3: Request body not stripped after redirect from 303 status changes request method to GET
- Content from cwe.mitre.org is not included.CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
- FAQ: Frequently asked questions about CVE-2023-45803
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.
External References
Content from www.cve.org is not included.https://www.cve.org/CVERecord?id=CVE-2023-45803
Content from nvd.nist.gov is not included.https://nvd.nist.gov/vuln/detail/CVE-2023-45803
Content from www.rfc-editor.org is not included.https://www.rfc-editor.org/rfc/rfc9110.html#name-get
Affected Packages and Issued Red Hat Security Errata
| Products / Services | Components | State | Errata |
|---|---|---|---|
| RHODF-4.15-RHEL-9 | odf4/cephcsi-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/mcg-core-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/mcg-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/mcg-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/ocs-client-console-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/ocs-client-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/ocs-client-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/ocs-metrics-exporter-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/ocs-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/ocs-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-cli-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-console-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-cosi-sidecar-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-csi-addons-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-csi-addons-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-csi-addons-sidecar-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-multicluster-console-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-multicluster-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-multicluster-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-must-gather-rhel9 | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odf-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odr-cluster-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odr-hub-operator-bundle | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/odr-rhel9-operator | Fixed | RHSA-2024:1383 |
| RHODF-4.15-RHEL-9 | odf4/rook-ceph-rhel9-operator | Fixed | RHSA-2024:1383 |
| Red Hat Ansible Automation Platform 2 | python-urllib3 | Not affected | |
| Red Hat Certification for Red Hat Enterprise Linux 8 | redhat-certification-baremetal-container | Will not fix | |
| Red Hat Discovery 1 | discovery-server-container | Not affected | |
| Red Hat Enterprise Linux 6 | python-urllib3 | Out of support scope | |
| Red Hat Enterprise Linux 7 | python-pip | Out of support scope | |
| Red Hat Enterprise Linux 7 | python-s3transfer | Out of support scope | |
| Red Hat Enterprise Linux 7 | python-urllib3 | Out of support scope | |
| Red Hat Enterprise Linux 7 | resource-agents | Out of support scope | |
| Red Hat Enterprise Linux 8 | python-pip | Affected | |
| Red Hat Enterprise Linux 8 | python-urllib3 | Fixed | RHSA-2024:0116 |
| Red Hat Enterprise Linux 8 | python3.11-urllib3 | Fixed | RHSA-2024:11189 |
| Red Hat Enterprise Linux 8 | resource-agents | Fixed | RHSA-2024:2952 |
| Red Hat Enterprise Linux 8 | fence-agents | Fixed | RHSA-2024:2968 |
| Red Hat Enterprise Linux 8 | container-tools:rhel8 | Fixed | RHSA-2024:2988 |
| Red Hat Enterprise Linux 8 | gimp:flatpak/python2-pip | Not affected | |
| Red Hat Enterprise Linux 8 | inkscape:flatpak/python2-pip | Not affected | |
| Red Hat Enterprise Linux 8 | python27:2.7/python2-pip | Not affected | |
| Red Hat Enterprise Linux 8 | python3.11-pip | Not affected | |
| Red Hat Enterprise Linux 8 | python3.12-urllib3 | Not affected | |
| Red Hat Enterprise Linux 8 | python39:3.9/python3x-pip | Not affected | |
| Red Hat Enterprise Linux 8.6 Extended Update Support | python-urllib3 | Fixed | RHSA-2024:0300 |
| Red Hat Enterprise Linux 8.8 Extended Update Support | python-urllib3 | Fixed | RHSA-2024:0588 |
| Red Hat Enterprise Linux 8.8 Extended Update Support | python3.11-urllib3 | Fixed | RHSA-2025:0078 |
| Red Hat Enterprise Linux 9 | python-pip | Affected | |
| Red Hat Enterprise Linux 9 | python-urllib3 | Fixed | RHSA-2024:0464 |
| Red Hat Enterprise Linux 9 | python3.11-urllib3 | Fixed | RHSA-2024:11238 |
| Red Hat Enterprise Linux 9 | fence-agents | Fixed | RHSA-2024:2132 |
| Red Hat Enterprise Linux 9 | python3.11-pip | Not affected | |
| Red Hat Enterprise Linux 9 | python3.12-urllib3 | Not affected | |
| Red Hat Enterprise Linux 9.0 Extended Update Support | fence-agents | Fixed | RHSA-2024:1155 |
| Red Hat Enterprise Linux 9.2 Extended Update Support | python3.11-urllib3 | Fixed | RHSA-2025:1813 |
| Red Hat Enterprise Linux 9.4 Extended Update Support | python3.11-urllib3 | Fixed | RHSA-2025:1793 |
| Red Hat OpenShift Container Platform 3.11 | openvswitch-ovn-kubernetes | Not affected | |
| Red Hat OpenShift Container Platform 3.11 | python-urllib3 | Not affected | |
| Red Hat OpenShift Container Platform 4 | openshift4/baremetal-hardware-event-proxy-rhel8 | Not affected | |
| Red Hat OpenShift Container Platform 4 | openshift4/ztp-site-generate-rhel8 | Not affected | |
| Red Hat OpenShift Container Platform 4 | python-urllib3 | Not affected | |
| Red Hat OpenShift Data Science (RHODS) | python-urllib3 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-ml-pipelines-api-server-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-ml-pipelines-artifact-manager-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-ml-pipelines-cache-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-ml-pipelines-persistenceagent-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-ml-pipelines-scheduledworkflow-rhel8 | Will not fix | |
| Red Hat OpenShift Data Science (RHODS) | rhods/odh-ml-pipelines-viewercontroller-rhel8 | Will not fix | |
| Red Hat OpenStack Platform 10 (Newton) | python-urllib3 | Under investigation | |
| Red Hat OpenStack Platform 13 (Queens) | python-urllib3 | Under investigation | |
| Red Hat OpenStack Platform 15 (Stein) | python-urllib3 | Under investigation | |
| Red Hat OpenStack Platform 17.1 for RHEL 8 | python-urllib3 | Fixed | RHSA-2024:2734 |
| Red Hat Quay 3 | python-urllib3 | Affected | |
| Red Hat Quay 3 | quay/quay-rhel8 | Affected | |
| Red Hat Satellite 6 | ansiblerole-foreman_scap_client | Not affected | |
| Red Hat Satellite 6.14 for RHEL 8 | python-urllib3 | Fixed | RHSA-2023:7851 |
| Red Hat Software Collections | rh-python38-python-pip | Will not fix | |
| Red Hat Software Collections | rh-python38-python-urllib3 | Will not fix | |
| Red Hat Storage 3 | graphite-web | Will not fix | |
| Red Hat Storage 3 | python-urllib3 | Will not fix |
Common Vulnerability Scoring System (CVSS) Score Details
Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authorities (CNA) source for its products and services (see Red Hat classifications ).
| CVSS v3 Score Breakdown | Red Hat | NVD |
|---|---|---|
| CVSS v3 Base Score | 4.2 | 4.2 |
| Attack Vector | Adjacent Network | Adjacent Network |
| Attack Complexity | High | High |
| Privileges Required | High | High |
| User Interaction | None | None |
| Scope | Unchanged | Unchanged |
| Confidentiality Impact | High | High |
| Integrity Impact | None | None |
| Availability Impact | None | None |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N
NVD CVSS:3.1/AV:A/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
My product is listed as "Out of Support Scope". What does this mean?
Not sure what something means? Check out our Security Glossary.