CVE-2016-0755
High · 7.3CVSS
7.3
EPSS
9.1%
Published
Jan 29, 2016
CISA due date
—
Cloudanix analysis
A flaw in how some software reuses connections to corporate proxies can let one user's login credentials be mistakenly used by someone else, risking unauthorized access to company resources.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Library
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The ConnectionExists function in lib/url.c fails to properly isolate or invalidate NTLM-authenticated proxy connections, permitting subsequent requests to inherit and reuse another user's proxy credentials.
Why it matters to the business
Organizations relying on libcurl for outbound connections through NTLM proxies face risk of credential leakage or unauthorized proxy access, potentially exposing internal resources or enabling lateral movement without direct user interaction.
How an attack unfolds
An attacker positioned to observe or influence requests through an NTLM-authenticated proxy sends crafted HTTP requests that trigger the flawed connection-reuse logic, causing libcurl to present cached NTLM credentials belonging to a different user and thereby authenticating as that user to the proxy or target.
How to fix it
Upgrade libcurl to version 7.47.0 or later on all affected systems; rebuild and redeploy any statically linked applications; where immediate upgrade is impossible, disable NTLM proxy authentication or enforce connection-per-user isolation at the application layer.
How to confirm the fix worked
Verify installed libcurl version is 7.47.0 or newer via curl-config or package manager; perform regression tests that exercise NTLM proxy connections under concurrent user sessions and confirm each session receives distinct authentication tokens.
Typical attack path
- Identify services or applications using vulnerable libcurl versions for proxy requests
- Configure or compromise an NTLM-authenticated HTTP proxy path
- Issue repeated requests that exercise the ConnectionExists path with varying user contexts
- Observe or capture successful proxy authentication using another user's NTLM tokens
- Leverage the stolen context to access protected resources or perform actions on behalf of the victim user
How to detect it
Examine application and proxy logs for repeated NTLM authentication attempts from the same client that succeed with credentials not matching the originating user; look for curl processes establishing long-lived connections that cross user boundaries.
What your security team should do
- Prioritize patching all instances of libcurl and dependent packages across the environment
- Scan source code and binaries for static linking of vulnerable curl versions
- Review proxy logs for anomalous NTLM authentication patterns from the same client IP or process
- Implement network segmentation or additional authentication controls around proxy usage until patches are applied
The record
The ConnectionExists function in lib/url.c in libcurl before 7.47.0 does not properly re-use NTLM-authenticated proxy connections, which might allow remote attackers to authenticate as other users via a request, a similar issue to CVE-2014-0015.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | curl | 0 | 7.47.0-1 |
| Debian:12 | curl | 0 | 7.47.0-1 |
| Debian:13 | curl | 0 | 7.47.0-1 |
| Debian:8 | curl | 0 | 7.38.0-4+deb8u3 |
| Mageia:5 | curl | 0 | 7.40.0-3.3.mga5 |
| SUSE:Linux Enterprise Desktop 11 SP3 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Desktop 12 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Server 11 SP3 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Server 11 SP4 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Server 12 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Server 12 SP1 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | curl | 0 | 7.19.7-1.46.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | curl | 0 | 7.37.0-18.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | curl | 0 | 7.37.0-18.1 |
| Ubuntu:14.04:LTS | curl | 0 | 7.35.0-1ubuntu2.6 |
| openSUSE:Tumbleweed | curl | 0 | 7.51.0-1.1 |
Related vulnerabilities
- CVE-2024-11053 When asked to both use a `.netrc` file for credentials and to follow HTTP redirects, curl… Also affects curl
- CVE-2024-9681 When curl is asked to use HSTS, the expiry time for a subdomain might overwrite a parent… Also affects curl
- CVE-2024-8096 When curl is told to use the Certificate Status Request TLS extension, often referred to… Also affects curl
- CVE-2023-46219 When saving HSTS data to an excessively long file name, curl could end up removing all… Also affects curl
- CVE-2023-46218 This flaw allows a malicious HTTP server to set "super cookies" in curl that are then… Also affects curl
- CVE-2023-38545 This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake. Also affects curl
- CVE-2023-38546 This flaw allows an attacker to insert cookies at will into a running program using… Also affects curl
- CVE-2023-28322 An information disclosure vulnerability exists in curl <v8.1.0 when doing HTTP(S)… Also affects curl