summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2015-12-18 12:00:47 -0500
committerMike Gilbert <floppym@gentoo.org>2015-12-18 12:00:47 -0500
commit27cb6e8ce5f9c2faea0b4a39887d5d937b6107ef (patch)
tree77a9e975cae2f2eaa8bdd28857aab59d3373f94b /sys-boot/grub
parentsys-boot/grub: Add postinst warning about security bug (diff)
downloadgentoo-27cb6e8ce5f9c2faea0b4a39887d5d937b6107ef.tar.gz
gentoo-27cb6e8ce5f9c2faea0b4a39887d5d937b6107ef.tar.bz2
gentoo-27cb6e8ce5f9c2faea0b4a39887d5d937b6107ef.zip
sys-boot/grub: Replace patch for CVE-2015-8370
Use what actually got accepted upstream. Package-Manager: portage-2.2.26_p32
Diffstat (limited to 'sys-boot/grub')
-rw-r--r--sys-boot/grub/files/CVE-2015-8370.patch57
1 files changed, 33 insertions, 24 deletions
diff --git a/sys-boot/grub/files/CVE-2015-8370.patch b/sys-boot/grub/files/CVE-2015-8370.patch
index 5701b54759fd..69e419ee0c3c 100644
--- a/sys-boot/grub/files/CVE-2015-8370.patch
+++ b/sys-boot/grub/files/CVE-2015-8370.patch
@@ -1,45 +1,54 @@
-From 88c9657960a6c5d3673a25c266781e876c181add Mon Sep 17 00:00:00 2001
+From 451d80e52d851432e109771bb8febafca7a5f1f2 Mon Sep 17 00:00:00 2001
From: Hector Marco-Gisbert <hecmargi@upv.es>
-Date: Fri, 13 Nov 2015 16:21:09 +0100
+Date: Wed, 16 Dec 2015 07:57:18 +0300
Subject: [PATCH] Fix security issue when reading username and password
- This patch fixes two integer underflows at:
- * grub-core/lib/crypto.c
- * grub-core/normal/auth.c
+This patch fixes two integer underflows at:
+ * grub-core/lib/crypto.c
+ * grub-core/normal/auth.c
+
+CVE-2015-8370
Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
+Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
---
- grub-core/lib/crypto.c | 2 +-
- grub-core/normal/auth.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ grub-core/lib/crypto.c | 3 ++-
+ grub-core/normal/auth.c | 7 +++++--
+ 2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
-index 010e550..524a3d8 100644
+index 010e550..683a8aa 100644
--- a/grub-core/lib/crypto.c
+++ b/grub-core/lib/crypto.c
-@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
- break;
- }
+@@ -470,7 +470,8 @@ grub_password_get (char buf[], unsigned buf_size)
-- if (key == '\b')
-+ if (key == '\b' && cur_len)
+ if (key == '\b')
{
- cur_len--;
+- cur_len--;
++ if (cur_len)
++ cur_len--;
continue;
+ }
+
diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
-index c6bd96e..5782ec5 100644
+index c6bd96e..8615c48 100644
--- a/grub-core/normal/auth.c
+++ b/grub-core/normal/auth.c
-@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
- break;
- }
+@@ -174,8 +174,11 @@ grub_username_get (char buf[], unsigned buf_size)
-- if (key == '\b')
-+ if (key == '\b' && cur_len)
+ if (key == '\b')
{
- cur_len--;
- grub_printf ("\b");
+- cur_len--;
+- grub_printf ("\b");
++ if (cur_len)
++ {
++ cur_len--;
++ grub_printf ("\b");
++ }
+ continue;
+ }
+
--
-1.9.1
+2.6.4