summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/curl/curl/CVE-2016-8624.patch
diff options
context:
space:
mode:
authorSona Sarmadi <sona.sarmadi@enea.com>2017-04-21 12:29:17 +0200
committerAdrian Dudau <adrian.dudau@enea.com>2017-04-21 13:54:14 +0200
commit3fc5d271f554e07c88b1195812e48a0d86291395 (patch)
treeaa886d608aee07639e7a841d0618ccd0bda97bc7 /meta/recipes-support/curl/curl/CVE-2016-8624.patch
parent9ee38b3a027470c98f7337dceac67ba06420c075 (diff)
downloadpoky-3fc5d271f554e07c88b1195812e48a0d86291395.tar.gz
curl: Upgrade 7.47.1 -> 7.53.1
Security vulnerabilities fixed between 7.47.1 and 7.53.1 versions: ================================================================= TLS session resumption client cert bypass (again): CVE-2017-XXXX --write-out out of buffer read: CVE-2017-7407 SSL_VERIFYSTATUS ignored: CVE-2017-2629 uninitialized random: CVE-2016-9594 printf floating point buffer overflow: CVE-2016-9586 Win CE schannel cert wildcard matches too much: CVE-2016-9952 Win CE schannel cert name out of buffer read: CVE-2016-9953 cookie injection for other servers: CVE-2016-8615 case insensitive password comparison: CVE-2016-8616 OOB write via unchecked multiplication: CVE-2016-8617 double-free in curl_maprintf: CVE-2016-8618 double-free in krb5 code: CVE-2016-8619 glob parser write/read out of bounds: CVE-2016-8620 curl_getdate read out of bounds: CVE-2016-8621 URL unescape heap overflow via integer truncation: CVE-2016-8622 Use-after-free via shared cookies: CVE-2016-8623 invalid URL parsing with '#': CVE-2016-8624 IDNA 2003 makes curl use wrong host: CVE-2016-8625 curl escape and unescape integer overflows: CVE-2016-7167 Incorrect reuse of client certificates: CVE-2016-7141 TLS session resumption client cert bypass: CVE-2016-5419 Re-using connections with wrong client cert: CVE-2016-5420 use of connection struct after free: CVE-2016-5421 Windows DLL hijacking: CVE-2016-4802 TLS certificate check bypass with mbedTLS/PolarSSL: CVE-2016-3739 Reference: https://curl.haxx.se/docs/security.html https://curl.haxx.se/changes.html Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'meta/recipes-support/curl/curl/CVE-2016-8624.patch')
-rw-r--r--meta/recipes-support/curl/curl/CVE-2016-8624.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/meta/recipes-support/curl/curl/CVE-2016-8624.patch b/meta/recipes-support/curl/curl/CVE-2016-8624.patch
deleted file mode 100644
index 009f7d0601..0000000000
--- a/meta/recipes-support/curl/curl/CVE-2016-8624.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From 3bb273db7e40ebc284cff45f3ce3f0475c8339c2 Mon Sep 17 00:00:00 2001
2From: Daniel Stenberg <daniel@haxx.se>
3Date: Tue, 11 Oct 2016 00:48:35 +0200
4Subject: [PATCH] urlparse: accept '#' as end of host name
5
6'http://example.com#@127.0.0.1/x.txt' equals a request to example.com
7for the '/' document with the rest of the URL being a fragment.
8
9CVE: CVE-2016-8624
10Upstream-Status: Backport
11
12Bug: https://curl.haxx.se/docs/adv_20161102J.html
13Reported-by: Fernando Muñoz
14
15Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
16
17diff -ruN a/lib/url.c b/lib/url.c
18--- a/lib/url.c 2016-11-07 08:50:23.030126833 +0100
19+++ b/lib/url.c 2016-11-07 10:16:13.562089428 +0100
20@@ -4086,7 +4086,7 @@
21 path[0]=0;
22
23 if(2 > sscanf(data->change.url,
24- "%15[^\n:]://%[^\n/?]%[^\n]",
25+ "%15[^\n:]://%[^\n/?#]%[^\n]",
26 protobuf,
27 conn->host.name, path)) {
28
29@@ -4094,7 +4094,7 @@
30 * The URL was badly formatted, let's try the browser-style _without_
31 * protocol specified like 'http://'.
32 */
33- rc = sscanf(data->change.url, "%[^\n/?]%[^\n]", conn->host.name, path);
34+ rc = sscanf(data->change.url, "%[^\n/?#]%[^\n]", conn->host.name, path);
35 if(1 > rc) {
36 /*
37 * We couldn't even get this format.
38@@ -4184,10 +4184,10 @@
39 }
40
41 /* If the URL is malformatted (missing a '/' after hostname before path) we
42- * insert a slash here. The only letter except '/' we accept to start a path
43- * is '?'.
44+ * insert a slash here. The only letters except '/' that can start a path is
45+ * '?' and '#' - as controlled by the two sscanf() patterns above.
46 */
47- if(path[0] == '?') {
48+ if(path[0] != '/') {
49 /* We need this function to deal with overlapping memory areas. We know
50 that the memory area 'path' points to is 'urllen' bytes big and that
51 is bigger than the path. Use +1 to move the zero byte too. */