Skip to main content
Public proof of conceptFix available

CVE-2023-32681

A public proof of concept exists; no exploitation attested.

  • Published2023-05-26
  • WeaknessCWE-200

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

Requests is a HTTP library. Since Requests 2.3.0, Requests has been leaking Proxy-Authorization headers to destination servers when redirected to an HTTPS endpoint. This is a product of how we use `rebuild_proxies` to reattach the `Proxy-Authorization` header to requests. For HTTP connections sent through the tunnel, the proxy will identify the header in the request itself and remove it prior to forwarding to the destination server. However when sent over HTTPS, the `Proxy-Authorization` header must be sent in the CONNECT request as the proxy has no visibility into the tunneled request. This results in Requests forwarding proxy credentials to the destination server unintentionally, allowing a malicious actor to potentially exfiltrate sensitive information. This issue has been patched in version 2.31.0.

Timeline

dates in UTC
  1. 2023-05-2618:15CVE publishedNVD
  2. 2026-10-2319:23First public proof of conceptPoC-in-GitHub

Observed activity

isMalicious corpus · updated 2026-10-23 21:37 UTC
Indicators tagged with this CVE, per day0 indicators over 7 days
Block these indicators
  • Firewall list (EDL, text): https://api.ismalicious.com/edl/cve/CVE-2023-32681?format=txt
  • CSV export: https://api.ismalicious.com/edl/cve/CVE-2023-32681?format=csv
  • TAXII collection of exploited CVEs
  • The EDL and CSV take an API key on the Pro plan.

Versions per branch

NVD · OSV
Fedoraproject fedora
BranchAffectedFixed in
37.x= 37no fix published
Python requests
BranchAffectedFixed in
2.x≥ 2.3.0, < 2.31.02.31.0

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • babelAlmaLinux:8all versions · fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13and 1 other package
  • python2AlmaLinux:8all versions · fixed in 2.7.18-15.module_el8.9.0+3674+85657c95.alma.1and 6 other packages
  • python2-attrsAlmaLinux:8all versions · fixed in 17.4.0-10.module_el8.6.0+2781+fed64c13
  • python2-backportsAlmaLinux:8all versions · fixed in 1.0-16.module_el8.6.0+2781+fed64c13
  • python2-backportsAlmaLinux:8all versions · fixed in 1.0-16.module_el8.6.0+3162+01a09e5a
  • python2-backports-ssl_match_hostnameAlmaLinux:8all versions · fixed in 3.5.0.1-12.module_el8.6.0+2781+fed64c13
  • python2-chardetAlmaLinux:8all versions · fixed in 3.0.4-10.module_el8.6.0+2781+fed64c13
  • python2-coverageAlmaLinux:8all versions · fixed in 4.5.1-5.module_el8.9.0+3640+8d3927b5

130 more package ranges on OSV.dev

Vendor advisories

  • RHSA-2023:6818 Red Hat Product Security2 products fixed

    Red Hat Security Advisory: Satellite 6.14 security and bug fix update

Full record on NVD

Fix

  1. Vendor fix Red Hat Product Security RHSA-2023:6818 · 4 productsBefore applying this update, make sure all previously released errata relevant to your system have been applied. For detailed instructions how to apply this update, refer to: https://access.redhat.com/documentation/en-us/red_hat_satellite/6.14/html/upgrading_red_hat_satellite_to_6.14/index
  2. Workaround from the vendor Red Hat Product Security RHSA-2023:6818 · 1,925 productsFor users who are not able to update Requests immediately, there is one potential workaround. You may disable redirects by setting allow_redirects to False on all calls through Requests top-level APIs. Note that if you are currently relying on redirect behaviors, you will need to capture the 3xx r…

Advisories and patches

Detection

read 2026-10-23 19:23 UTC
Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof-of-concept repositories
2 repositories, unverifiedhardikmodha/POC-CVE-2023-32681mcpmark-eval-liuhezi/requests-sec-notes
PoC-in-GitHub

Sources

  • CISA-ADPSSVC decisionnone2025-01-14
  • OpenCVESSVC decisionnone—
  • CNACVSS 3.16.1read 2026-10-23
  • NVDCVSS 3.16.1read 2026-10-23
  • CNAweakness (CWE)CWE-200read 2026-10-23
  • FIRST EPSSEPSS score3.0 %2026-10-22
  • PoC-in-GitHubproof of concept2read 2026-10-23
  • OSVaffected packages—

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N
Published
2023-05-26
Last Modified
2026-06-17
NVD status
Modified

Frequently asked questions

What is CVE-2023-32681?

Requests is a HTTP library. Since Requests 2.3.0, Requests has been leaking Proxy-Authorization headers to destination servers when redirected to an HTTPS endpoint. This is a product of how we use `rebuild_proxies` to reattach the `Proxy-Authorization` header to requests. For HTTP connections sent through the tunnel, the proxy will identify the header in the request itself and remove it prior to forwarding to the destination server. However when sent over HTTPS, the `Proxy-Authorization` header must be sent in the CONNECT request as the proxy has no visibility into the tunneled request. This results in Requests forwarding proxy credentials to the destination server unintentionally, allowing a malicious actor to potentially exfiltrate sensitive information. This issue has been patched in version 2.31.0.

Is CVE-2023-32681 actively exploited?

Active exploitation of CVE-2023-32681 has not been confirmed. Its EPSS score was 3.0% on 2026-10-22, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2023-32681?

CVE-2023-32681 has a CVSS v3 base score of 6.1 (MEDIUM severity), with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N.

Running requests? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month