diff options
author | yanjun.zhu <yanjun.zhu@windriver.com> | 2012-11-30 19:08:56 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-03 15:21:01 +0000 |
commit | 821401df8cd79e4878ad87f918b1ce8d0da141ec (patch) | |
tree | a5c3a1c934e1a1dc1474f8dc4489963be21eddd0 | |
parent | 972ea6c674e10cf23bedbbc581b78baa3f7c7b9b (diff) | |
download | openembedded-core-contrib-821401df8cd79e4878ad87f918b1ce8d0da141ec.tar.gz |
libproxy: Fix for CVE-2012-4504
Reference:https://code.google.com/p/libproxy/source/detail?r=853
Stack-based buffer overflow in the url::get_pac function in url.cpp
in libproxy 0.4.x before 0.4.9 allows remote servers to have an
unspecified impact via a large proxy.pac file.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-4504
[YOCTO #3487]
Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-support/libproxy/libproxy/libproxy-0.4.7-CVE-2012-4504.patch | 29 | ||||
-rw-r--r-- | meta/recipes-support/libproxy/libproxy_0.4.7.bb | 1 |
2 files changed, 30 insertions, 0 deletions
diff --git a/meta/recipes-support/libproxy/libproxy/libproxy-0.4.7-CVE-2012-4504.patch b/meta/recipes-support/libproxy/libproxy/libproxy-0.4.7-CVE-2012-4504.patch new file mode 100644 index 00000000000..7f2d93a9378 --- /dev/null +++ b/meta/recipes-support/libproxy/libproxy/libproxy-0.4.7-CVE-2012-4504.patch @@ -0,0 +1,29 @@ +Upstream-Status: Backport + +libproxy - CVE-2012-4504: + +Reference:https://code.google.com/p/libproxy/source/detail?r=853 + +Stack-based buffer overflow in the url::get_pac function in url.cpp +in libproxy 0.4.x before 0.4.9 allows remote servers to have an +unspecified impact via a large proxy.pac file. + +http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-4504 + +Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com> + +diff -urpN a/libproxy/url.cpp b/libproxy/url.cpp +--- a/libproxy/url.cpp 2012-11-26 10:08:47.000000000 +0800 ++++ b/libproxy/url.cpp 2012-11-26 10:05:54.000000000 +0800 +@@ -472,9 +472,10 @@ char* url::get_pac() { + // Add this chunk to our content length, + // ensuring that we aren't over our max size + content_length += chunk_length; +- if (content_length >= PAC_MAX_SIZE) break; + } + ++ if (content_length >= PAC_MAX_SIZE) break; ++ + while (recvd != content_length) { + int r = recv(sock, buffer + recvd, content_length - recvd, 0); + if (r < 0) break; diff --git a/meta/recipes-support/libproxy/libproxy_0.4.7.bb b/meta/recipes-support/libproxy/libproxy_0.4.7.bb index c6a733a1df2..510c6b7c4ea 100644 --- a/meta/recipes-support/libproxy/libproxy_0.4.7.bb +++ b/meta/recipes-support/libproxy/libproxy_0.4.7.bb @@ -13,6 +13,7 @@ PR = "r5" SRC_URI = "http://libproxy.googlecode.com/files/libproxy-${PV}.tar.gz \ file://g++-namepace.patch \ file://libproxy_fix_for_gcc4.7.patch \ + file://libproxy-0.4.7-CVE-2012-4504.patch \ " SRC_URI[md5sum] = "509e03a488a61cd62bfbaf3ab6a2a7a5" |