CVE-2014-8150
NoneCVSS
—
EPSS
6.8%
Published
Jan 15, 2015
CISA due date
—
Cloudanix analysis
A flaw in a common networking library lets attackers tamper with web requests through a proxy, potentially allowing them to trick systems into showing the wrong content or bypassing protections.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
CRLF injection in libcurl when using an HTTP proxy allows remote attackers to inject arbitrary HTTP headers and conduct HTTP response splitting attacks via CRLF sequences in a URL.
Why it matters to the business
Attackers can manipulate HTTP responses to bypass security controls, perform cache poisoning, or redirect users, leading to potential data exposure or unauthorized access across systems relying on the affected library.
How an attack unfolds
An attacker crafts a malicious URL containing CRLF sequences and supplies it to an application using libcurl with an HTTP proxy; the proxy processes the injected headers, enabling response splitting or header manipulation that the attacker leverages to interfere with subsequent requests or responses.
How to fix it
Upgrade libcurl to version 7.40.0 or later across all affected products and rebuild dependent applications; disable HTTP proxy usage where feasible until patched.
How to confirm the fix worked
Verify libcurl version is 7.40.0 or newer in package managers or build configurations; test proxy interactions with crafted URLs containing CRLF to confirm header injection is rejected.
Typical attack path
- Identify an application or service using vulnerable libcurl with HTTP proxy support
- Craft a URL containing CRLF sequences to inject arbitrary headers
- Supply the URL through the affected client or proxy interaction
- Exploit the split response to perform cache poisoning, header manipulation, or redirect attacks
How to detect it
Review application and proxy logs for URLs containing encoded CRLF sequences (%0D%0A or \r\n) originating from untrusted sources; inspect network traffic for unexpected HTTP headers in responses from proxied connections.
- %0D%0A in URL parameters
- \r\n sequences in logged HTTP requests to proxies
- Unexpected Set-Cookie or Location headers in proxied responses
What your security team should do
- Prioritize patching libcurl in all environments due to widespread use in network clients
- Audit applications for proxy usage and restrict untrusted URL inputs
- Monitor for updates in Debian and Ubuntu distributions and apply as available
The record
CRLF injection vulnerability in libcurl 6.0 through 7.x before 7.40.0, when using an HTTP proxy, allows remote attackers to inject arbitrary HTTP headers and conduct HTTP response splitting attacks via CRLF sequences in a URL.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | curl | 0 | 7.38.0-4 |
| Debian:12 | curl | 0 | 7.38.0-4 |
| Debian:13 | curl | 0 | 7.38.0-4 |
| Debian:6.0 | curl | 0 | 7.21.0-2.1+squeeze11 |
| Debian:7 | curl | 0 | 7.26.0-1+wheezy12 |
| Mageia:4 | curl | 0 | 7.34.0-1.5.mga4 |
| Red Hat:enterprise_linux:6::client | curl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::client | curl-debuginfo | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::client | libcurl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::client | libcurl-devel | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::computenode | curl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::computenode | curl-debuginfo | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::computenode | libcurl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::computenode | libcurl-devel | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::server | curl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::server | curl-debuginfo | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::server | libcurl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::server | libcurl-devel | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::workstation | curl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::workstation | curl-debuginfo | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::workstation | libcurl | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:6::workstation | libcurl-devel | 0 | 0:7.19.7-46.el6 |
| Red Hat:enterprise_linux:7::client | curl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::client | curl-debuginfo | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::client | libcurl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::client | libcurl-devel | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::computenode | curl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::computenode | curl-debuginfo | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::computenode | libcurl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::computenode | libcurl-devel | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::server | curl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::server | curl-debuginfo | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::server | libcurl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::server | libcurl-devel | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::workstation | curl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::workstation | curl-debuginfo | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::workstation | libcurl | 0 | 0:7.29.0-25.el7 |
| Red Hat:enterprise_linux:7::workstation | libcurl-devel | 0 | 0:7.29.0-25.el7 |
| Ubuntu:14.04:LTS | curl | 0 | 7.35.0-1ubuntu2.3 |
| 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