Codebase list grub2 / 0499e7f
CVE-2015-8370: Fix authentication bypass via backspace integer underflow (closes: #808122). Colin Watson 8 years ago
6 changed file(s) with 71 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
00 # see git-dpm(1) from git-dpm package
1 1a8eacd20fdfc9e9d3adf15af0a24a5c025fa071
2 1a8eacd20fdfc9e9d3adf15af0a24a5c025fa071
1 832cd1c6c3af71de697aaeaae293f1fccddf60d0
2 832cd1c6c3af71de697aaeaae293f1fccddf60d0
33 e8f07821cce1bd0ab6d5622c2a42440f15f4fd71
44 e8f07821cce1bd0ab6d5622c2a42440f15f4fd71
55 grub2_2.02~beta2.orig.tar.xz
0 grub2 (2.02~beta2-33) UNRELEASED; urgency=medium
0 grub2 (2.02~beta2-33) UNRELEASED; urgency=high
11
22 [ Mathieu Trudel-Lapierre ]
33 * Cherry-picks to better handle TFTP timeouts on some arches: (LP: #1521612)
77
88 [ Lee Trager ]
99 * Add raid5rec and raid6rec to signed EFI images (closes: #807385).
10
11 [ Colin Watson ]
12 * CVE-2015-8370: Fix authentication bypass via backspace integer underflow
13 (closes: #808122).
1014
1115 -- Mathieu Trudel-Lapierre <mathieu-tl@ubuntu.com> Thu, 03 Dec 2015 11:01:36 -0500
1216
0 From 832cd1c6c3af71de697aaeaae293f1fccddf60d0 Mon Sep 17 00:00:00 2001
1 From: Hector Marco-Gisbert <hecmargi@upv.es>
2 Date: Wed, 16 Dec 2015 07:57:18 +0300
3 Subject: Fix security issue when reading username and password
4
5 This patch fixes two integer underflows at:
6 * grub-core/lib/crypto.c
7 * grub-core/normal/auth.c
8
9 CVE-2015-8370
10
11 Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
12 Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
13 Also-By: Andrey Borzenkov <arvidjaar@gmail.com>
14
15 Bug-Debian: https://bugs.debian.org/808122
16 Last-Update: 2015-12-16
17
18 Patch-Name: CVE-2015-8370.patch
19 ---
20 grub-core/lib/crypto.c | 3 ++-
21 grub-core/normal/auth.c | 7 +++++--
22 2 files changed, 7 insertions(+), 3 deletions(-)
23
24 diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
25 index 8e8426c..571992c 100644
26 --- a/grub-core/lib/crypto.c
27 +++ b/grub-core/lib/crypto.c
28 @@ -458,7 +458,8 @@ grub_password_get (char buf[], unsigned buf_size)
29
30 if (key == '\b')
31 {
32 - cur_len--;
33 + if (cur_len)
34 + cur_len--;
35 continue;
36 }
37
38 diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
39 index c6bd96e..8615c48 100644
40 --- a/grub-core/normal/auth.c
41 +++ b/grub-core/normal/auth.c
42 @@ -174,8 +174,11 @@ grub_username_get (char buf[], unsigned buf_size)
43
44 if (key == '\b')
45 {
46 - cur_len--;
47 - grub_printf ("\b");
48 + if (cur_len)
49 + {
50 + cur_len--;
51 + grub_printf ("\b");
52 + }
53 continue;
54 }
55
8585 efidisk-device-path-helpers-for-efinet.patch
8686 efinet-skip-virtual-devices-on-enumeration.patch
8787 efinet-enable-hardware-filters-on-interface.patch
88 CVE-2015-8370.patch
457457
458458 if (key == '\b')
459459 {
460 cur_len--;
460 if (cur_len)
461 cur_len--;
461462 continue;
462463 }
463464
173173
174174 if (key == '\b')
175175 {
176 cur_len--;
177 grub_printf ("\b");
176 if (cur_len)
177 {
178 cur_len--;
179 grub_printf ("\b");
180 }
178181 continue;
179182 }
180183