summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLéo Le Bouter <lle-bout@zaclys.net>2021-03-10 11:49:35 +0100
committerLéo Le Bouter <lle-bout@zaclys.net>2021-03-10 11:51:09 +0100
commit70128b8afacf332b0aff69ebcad6868fd158e8ad (patch)
tree5a18002024f7a6d2828ec7db55cc11e5ebf0df57 /gnu/packages
parentfb4ccb86c26cc06d090576a6c281b5bb417f1ec9 (diff)
downloadguix-patches-70128b8afacf332b0aff69ebcad6868fd158e8ad.tar
guix-patches-70128b8afacf332b0aff69ebcad6868fd158e8ad.tar.gz
gnu: cyrus-sasl: Fix CVE-2019-19906.
* gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/cyrus-sasl.scm (cyrus-sasl/fixed): New variable. Apply patch. (cyrus-sasl)[replacement]: Graft.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/cyrus-sasl.scm18
-rw-r--r--gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch25
2 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm
index 3e65a1faf6..691349a38f 100644
--- a/gnu/packages/cyrus-sasl.scm
+++ b/gnu/packages/cyrus-sasl.scm
@@ -45,6 +45,7 @@
(sha256 (base32
"1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6"))
(patches (search-patches "cyrus-sasl-ac-try-run-fix.patch"))))
+ (replacement cyrus-sasl/fixed)
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -80,3 +81,20 @@ server writers.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://cyrusimap.org/sasl/")))
+
+(define-public cyrus-sasl/fixed
+ (package
+ (inherit cyrus-sasl)
+ (version "2.1.27")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append
+ "https://cyrusimap.org/releases/cyrus-sasl-"
+ version ".tar.gz")
+ (string-append
+ "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-"
+ version ".tar.gz")))
+ (sha256 (base32
+ "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6"))
+ (patches (search-patches "cyrus-sasl-ac-try-run-fix.patch"
+ "cyrus-sasl-CVE-2019-19906.patch"))))))
diff --git a/gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch b/gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch
new file mode 100644
index 0000000000..acdf682430
--- /dev/null
+++ b/gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch
@@ -0,0 +1,25 @@
+From dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1 Mon Sep 17 00:00:00 2001
+From: Quanah Gibson-Mount <quanah@symas.com>
+Date: Tue, 18 Feb 2020 19:05:12 +0000
+Subject: [PATCH] Fix #587
+
+Off by one error in common.c, CVE-2019-19906.
+
+Thanks to Stephan Zeisberg for reporting
+---
+ lib/common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/common.c b/lib/common.c
+index bc3bf1df..9969d6aa 100644
+--- a/lib/common.c
++++ b/lib/common.c
+@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen,
+
+ if (add==NULL) add = "(null)";
+
+- addlen=strlen(add); /* only compute once */
++ addlen=strlen(add)+1; /* only compute once */
+ if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK)
+ return SASL_NOMEM;
+