diff options
author | Leo Famulari <leo@famulari.name> | 2017-03-10 22:35:50 -0500 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2017-03-10 22:36:58 -0500 |
commit | c84c8f66f54a508fbe5ba1831e3595794dc78eb2 (patch) | |
tree | dbd27c0fa806706c28b940ce8888d744e6a22497 /gnu/packages | |
parent | e08ad76658f0bd1b9880c2388ae004ff0daca1cb (diff) | |
download | guix-c84c8f66f54a508fbe5ba1831e3595794dc78eb2.tar guix-c84c8f66f54a508fbe5ba1831e3595794dc78eb2.tar.gz |
gnu: wget: Fix CVE-2017-6508.
* gnu/packages/patches/wget-CVE-2017-6508.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/wget.scm (wget)[source]: Use it.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/wget-CVE-2017-6508.patch | 45 | ||||
-rw-r--r-- | gnu/packages/wget.scm | 2 |
2 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/patches/wget-CVE-2017-6508.patch b/gnu/packages/patches/wget-CVE-2017-6508.patch new file mode 100644 index 0000000000..0218fceaad --- /dev/null +++ b/gnu/packages/patches/wget-CVE-2017-6508.patch @@ -0,0 +1,45 @@ +Fix CVE-2017-6508: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6508 + +Patch copied from upstream source repository: + +https://git.savannah.gnu.org/cgit/wget.git/commit/?id=4d729e322fae359a1aefaafec1144764a54e8ad4 + +From 4d729e322fae359a1aefaafec1144764a54e8ad4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de> +Date: Mon, 6 Mar 2017 10:04:22 +0100 +Subject: [PATCH] Fix CRLF injection in Wget host part + +* src/url.c (url_parse): Reject control characters in host part of URL + +Reported-by: Orange Tsai +--- + src/url.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/url.c b/src/url.c +index 8f8ff0b8..7d36b27d 100644 +--- a/src/url.c ++++ b/src/url.c +@@ -925,6 +925,17 @@ url_parse (const char *url, int *error, struct iri *iri, bool percent_encode) + url_unescape (u->host); + host_modified = true; + ++ /* check for invalid control characters in host name */ ++ for (p = u->host; *p; p++) ++ { ++ if (c_iscntrl(*p)) ++ { ++ url_free(u); ++ error_code = PE_INVALID_HOST_NAME; ++ goto error; ++ } ++ } ++ + /* Apply IDNA regardless of iri->utf8_encode status */ + if (opt.enable_iri && iri) + { +-- +2.12.0 + diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 9ac21b4db1..1c56e14a66 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -20,6 +20,7 @@ (define-module (gnu packages wget) #:use-module (guix licenses) + #:use-module (gnu packages) #:use-module (gnu packages libidn) #:use-module (gnu packages python) #:use-module (gnu packages perl) @@ -39,6 +40,7 @@ (method url-fetch) (uri (string-append "mirror://gnu/wget/wget-" version ".tar.xz")) + (patches (search-patches "wget-CVE-2017-6508.patch")) (sha256 (base32 "1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c")))) |