[Home]

Summary:ASTERISK-24676: Security Vulnerability: URL request injection in libCURL (CVE-2014-8150)
Reporter:Matt Jordan (mjordan)Labels:Security
Date Opened:2015-01-12 07:33:39.000-0600Date Closed:2015-01-28 11:07:20.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Functions/func_curl Resources/res_config_curl
Versions:1.8.32.1 11.15.0 12.8.0 13.1.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Thanks to Olle Johansson for pointing this out.

Quoting from the CVE notice on the {{cURL}} page:

{quote}
When libcurl sends a request to a server via a HTTP proxy, it copies the entire URL into the request and sends if off.

If the given URL contains line feeds and carriage returns those will be sent along to the proxy too, which allows the program to for example send a separate HTTP request injected embedded in the URL.

Many programs allow some kind of external sources to set the URL or provide partial pieces for the URL to ask for, and if the URL as received from the user is not stripped good enough this flaw allows malicious users to do additional requests in a way that was not intended, or just to insert request headers into the request that the program didn't intend.

We are not aware of any exploit of this flaw.
{quote}

Generally, if a URL contains {{\r\n}} (or some equivalent thereof), we should reject the URL.

While this clearly affects {{func_curl}}, {{res_config_curl}} is also affected, as it passes the query from the {{REALTIME}} function directly to {{cURL}} as well.
Comments: