summary refs log tree commit diff
path: root/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-02-02 10:48:53 -0500
committerLeo Famulari <leo@famulari.name>2017-02-02 10:52:45 -0500
commite83ef684fc1b490cd54612339a909203d5b94fa4 (patch)
tree60be5df93e2987cdf7a8776ed3ac72699abfc848 /gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch
parente8c83d04e176f205b30b3d470f22ee5e1c686331 (diff)
downloadguix-e83ef684fc1b490cd54612339a909203d5b94fa4.tar.gz
gnu: libevent-2.0: Include CVE IDs in patches.
* gnu/packages/patches/libevent-2.0-evdns-fix-remote-stack-overread.patch,
gnu/packages/patches/libevent-2.0-evutil-fix-buffer-overflow.patch,
gnu/packages/patches/libevent-2.0-evdns-fix-searching-empty-hostnames.patch:
Rename to ...
* gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch,
gnu/packages/patches/libevent-2.0-CVE-2016-10196.patch,
gnu/packages/patches/libevent-2.0-CVE-2016-10197.patch: ... new files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/libevent.scm (libevent-2.0)[sources]: Likewise.
Diffstat (limited to 'gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch')
-rw-r--r--gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch b/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch
new file mode 100644
index 0000000000..bffe2c454c
--- /dev/null
+++ b/gnu/packages/patches/libevent-2.0-CVE-2016-10195.patch
@@ -0,0 +1,41 @@
+Fix CVE-2016-10195 (buffer overread in libevent's DNS code):
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10195
+https://github.com/libevent/libevent/issues/317
+
+Patch copied from upstream source repository:
+
+https://github.com/libevent/libevent/commit/96f64a022014a208105ead6c8a7066018449d86d
+
+From 3c570970516f48da35f42fef98276531fcc0abaa Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <a3at.mail@gmail.com>
+Date: Mon, 1 Feb 2016 17:32:09 +0300
+Subject: [PATCH] evdns: name_parse(): fix remote stack overread
+
+---
+ evdns.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/evdns.c b/evdns.c
+index 60b10485..137c24ea 100644
+--- a/evdns.c
++++ b/evdns.c
+@@ -960,7 +960,6 @@ name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) {
+ 
+ 	for (;;) {
+ 		u8 label_len;
+-		if (j >= length) return -1;
+ 		GET8(label_len);
+ 		if (!label_len) break;
+ 		if (label_len & 0xc0) {
+@@ -981,6 +980,7 @@ name_parse(u8 *packet, int length, int *idx, char *name_out, int name_out_len) {
+ 			*cp++ = '.';
+ 		}
+ 		if (cp + label_len >= end) return -1;
++		if (j + label_len > length) return -1;
+ 		memcpy(cp, packet + j, label_len);
+ 		cp += label_len;
+ 		j += label_len;
+-- 
+2.11.0
+