summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2016-11-13 05:13:48 -0500
committerLeo Famulari <leo@famulari.name>2016-11-13 17:01:01 -0500
commitd9721bcf27a049a87ee54701b8cb8e38dffd1a44 (patch)
treef308d0de92ef8ac4909eea47e7c4af0e5b056372
parent27d7c4e93a2cc10b643a7da8930982dd6522fed4 (diff)
downloadguix-d9721bcf27a049a87ee54701b8cb8e38dffd1a44.tar.gz
gnu: readline-6.2: Fix CVE-2014-2524.
* gnu/packages/patches/readline-6.2-CVE-2014-2524.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/readline.scm (readline-6.2): Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/readline-6.2-CVE-2014-2524.patch42
-rw-r--r--gnu/packages/readline.scm2
3 files changed, 45 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4ac824edcd..08f99c4836 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -827,6 +827,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rapicorn-isnan.patch			\
   %D%/packages/patches/ratpoison-shell.patch			\
   %D%/packages/patches/readline-link-ncurses.patch		\
+  %D%/packages/patches/readline-6.2-CVE-2014-2524.patch		\
   %D%/packages/patches/ripperx-missing-file.patch		\
   %D%/packages/patches/rpm-CVE-2014-8118.patch			\
   %D%/packages/patches/rsem-makefile.patch			\
diff --git a/gnu/packages/patches/readline-6.2-CVE-2014-2524.patch b/gnu/packages/patches/readline-6.2-CVE-2014-2524.patch
new file mode 100644
index 0000000000..12db684d87
--- /dev/null
+++ b/gnu/packages/patches/readline-6.2-CVE-2014-2524.patch
@@ -0,0 +1,42 @@
+Fix CVE-2014-2524:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2524
+http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00057.html
+
+Patch copied from:
+https://ftp.gnu.org/gnu/readline/readline-6.3-patches/readline63-003
+
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 6.3
+Patch-ID: readline63-003
+
+Bug-Reported-by:
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+There are debugging functions in the readline release that are theoretically
+exploitable as security problems.  They are not public functions, but have
+global linkage.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.3/util.c	2013-09-02 13:36:12.000000000 -0400
+--- util.c	2014-03-20 10:25:53.000000000 -0400
+***************
+*** 477,480 ****
+--- 479,483 ----
+  }
+  
++ #if defined (DEBUG)
+  #if defined (USE_VARARGS)
+  static FILE *_rl_tracefp;
+***************
+*** 539,542 ****
+--- 542,546 ----
+  }
+  #endif
++ #endif /* DEBUG */
diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm
index 6435e98234..43817791b5 100644
--- a/gnu/packages/readline.scm
+++ b/gnu/packages/readline.scm
@@ -84,6 +84,8 @@ comfortable for anyone.")
               (method url-fetch)
               (uri (string-append "mirror://gnu/readline/readline-"
                                   version ".tar.gz"))
+              (patches (search-patches "readline-6.2-CVE-2014-2524.patch"))
+              (patch-flags '("-p0"))
               (sha256
                (base32
                 "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr"))))))