First published: Tue Oct 09 2012(Updated: )
An insufficient input validation flaw, leading to a heap-based buffer overflow was found in libproxy 0.3.x in the px_pac_reload() function. libproxy allocates a memory to store downloaded proxy.pac proxy auto-configuration file content using the Content-Length size from the remote server's HTTP response header. Allocation size is content length + 1. A malicious host hosting proxy.pac, or a man in the middle attacker, could use this flaw to make libproxy allocate insufficient amount of memory and subsequently overflow a heap-based buffer. <a href="http://code.google.com/p/libproxy/source/browse/tags/libproxy-0.3.1/src/lib/pac.c#165">http://code.google.com/p/libproxy/source/browse/tags/libproxy-0.3.1/src/lib/pac.c#165</a> 165 self->cache = px_malloc0(content_length+1); 166 for (int recvd=0 ; recvd != content_length ; ) 167 recvd += recv(sock, self->cache + recvd, content_length - recvd, 0); This issue was confirmed with libproxy 0.3.x. Earlier 0.2.x versions seems to be affected too. It does not affect 0.4.x versions, where fixed size buffer is used.
Credit: secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/libproxy | <0.4 | 0.4 |
Oracle Libproxy | =0.2.3 | |
Oracle Libproxy | =0.3.0 | |
Oracle Libproxy | =0.3.1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2012-4505 is classified as a high-severity vulnerability due to its potential to cause a heap-based buffer overflow.
To fix CVE-2012-4505, upgrade libproxy to version 0.4 or higher as older versions are vulnerable.
CVE-2012-4505 affects libproxy versions 0.2.3, 0.3.0, 0.3.1, and any version below 0.4.
CVE-2012-4505 is an insufficient input validation vulnerability that leads to a heap-based buffer overflow.
Yes, CVE-2012-4505 can potentially be exploited remotely, allowing attackers to execute arbitrary code.