CVE-2023-32681
Unintended leak of Proxy-Authorization header in requests
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.
INFO
Published Date :
May 26, 2023, 6:15 p.m.
Last Modified :
June 17, 2026, 5:59 a.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | MEDIUM | [email protected] | ||||
| CVSS 3.1 | MEDIUM | [email protected] |
Solution
- Update the python-requests package to version 2.31.0 or later.
- Upgrade affected packages per vendor guidance.
Public PoC/Exploit Available at Github
CVE-2023-32681 has a 147 public
PoC/Exploit available at Github.
Go to the Public Exploits tab to see the list.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2023-32681.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2023-32681 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2023-32681
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
PatchFlow CLI benchmark suites and reports
Shell
CVE-bench — conformant reproduce-and-fix security benchmark from public CVEs + OSS fix-PRs/tests. Apply-patch -> run the security test (FAIL->PASS). Cost-Pareto leaderboard, PR-based submissions, nightly CI.
JavaScript HTML Shell
None
Go Makefile Shell
None
Python Dockerfile
Every fix ships with proof: a test that fails on buggy code, passes after the fix, and survives mutation testing. A second model attacks the patch. If evidence doesn't clear the bar, no PR is opened. Not a limitation — that's judgement.
Python Dockerfile Shell
None
Dockerfile Python
None
Python
Dependency risk visualizer — Scorecard + OSV + typosquat + maintainer signals
cognis-digital cognis-neural-suite depgraph dev-supply-chain automation cli devsecops mcp-server python sbom secrets self-hosted supply-chain security-tools cloud cognis developer-tools devtools
Dockerfile Python Shell Go JavaScript Rust HCL PowerShell
None
JavaScript Python
AWS cloud security audit with Prowler + automated CI/CD vulnerability scanning pipeline using Bandit and Trivy
HTML Python
Multi-agent defensive triage of Dependabot alerts. GitHub-native, Python 3.11+. The LLM never acts alone.
Python
None
Python
Sample application with intentional security and code quality issues — used as a test target for Conductor multi-agent workflows (branch creation, code fixes, PRs)
Python
None
Dockerfile PowerShell Shell Python JavaScript HTML CSS
vuln-scanner
Go
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2023-32681 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2023-32681 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 17, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2023-32681', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2025-01-14T19:35:47.263757Z'} -
CVE Modified by [email protected]
Jun. 17, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'psf', 'product': 'requests', 'versions': [{'status': 'affected', 'version': '>= 2.3.0, < 2.31.0'}]}] -
CVE Modified by [email protected]
Feb. 13, 2025
Action Type Old Value New Value Changed 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. 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. -
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://github.com/psf/requests/commit/74ea7cf7a6a27a4eeb2ae24e162bcc942a6706d5 Added Reference https://github.com/psf/requests/releases/tag/v2.31.0 Added Reference https://github.com/psf/requests/security/advisories/GHSA-j8r2-6x86-q33q Added Reference https://lists.debian.org/debian-lts-announce/2023/06/msg00018.html Added Reference https://lists.fedoraproject.org/archives/list/[email protected]/message/AW7HNFGYP44RT3DUDQXG2QT3OEV2PJ7Y/ Added Reference https://lists.fedoraproject.org/archives/list/[email protected]/message/KOYASTZDGQG2BWLSNBPL3TQRL2G7QYNZ/ Added Reference https://security.gentoo.org/glsa/202309-08 -
CVE Modified by [email protected]
May. 14, 2024
Action Type Old Value New Value -
CVE Modified by [email protected]
Sep. 17, 2023
Action Type Old Value New Value Added Reference https://security.gentoo.org/glsa/202309-08 [No Types Assigned] -
CVE Modified by [email protected]
Jun. 18, 2023
Action Type Old Value New Value Added Reference https://lists.debian.org/debian-lts-announce/2023/06/msg00018.html [No Types Assigned] -
CVE Modified by [email protected]
Jun. 04, 2023
Action Type Old Value New Value Added Reference https://lists.fedoraproject.org/archives/list/[email protected]/message/KOYASTZDGQG2BWLSNBPL3TQRL2G7QYNZ/ [No Types Assigned] -
Initial Analysis by [email protected]
Jun. 02, 2023
Action Type Old Value New Value Added CVSS V3.1 NIST AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N Changed Reference Type https://github.com/psf/requests/commit/74ea7cf7a6a27a4eeb2ae24e162bcc942a6706d5 No Types Assigned https://github.com/psf/requests/commit/74ea7cf7a6a27a4eeb2ae24e162bcc942a6706d5 Patch Changed Reference Type https://github.com/psf/requests/releases/tag/v2.31.0 No Types Assigned https://github.com/psf/requests/releases/tag/v2.31.0 Release Notes Changed Reference Type https://github.com/psf/requests/security/advisories/GHSA-j8r2-6x86-q33q No Types Assigned https://github.com/psf/requests/security/advisories/GHSA-j8r2-6x86-q33q Vendor Advisory Changed Reference Type https://lists.fedoraproject.org/archives/list/[email protected]/message/AW7HNFGYP44RT3DUDQXG2QT3OEV2PJ7Y/ No Types Assigned https://lists.fedoraproject.org/archives/list/[email protected]/message/AW7HNFGYP44RT3DUDQXG2QT3OEV2PJ7Y/ Mailing List, Third Party Advisory Added CWE NIST NVD-CWE-noinfo Added CPE Configuration OR *cpe:2.3:a:python:requests:*:*:*:*:*:*:*:* versions from (including) 2.3.0 up to (excluding) 2.31.0 Added CPE Configuration OR *cpe:2.3:o:fedoraproject:fedora:37:*:*:*:*:*:*:* -
CVE Modified by [email protected]
May. 27, 2023
Action Type Old Value New Value Added Reference https://lists.fedoraproject.org/archives/list/[email protected]/message/AW7HNFGYP44RT3DUDQXG2QT3OEV2PJ7Y/ [No Types Assigned]