gnu: grub: Add fix for CVE-2015-8730.
* gnu/packages/patches/grub-CVE-2015-8370.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. * gnu/packages/grub.scm: Apply patch.
This commit is contained in:
		
							parent
							
								
									e2cd1d0fb9
								
							
						
					
					
						commit
						f0150f8724
					
				
					 3 changed files with 49 additions and 1 deletions
				
			
		|  | @ -497,6 +497,7 @@ dist_patch_DATA =						\ | |||
|   gnu/packages/patches/gobject-introspection-cc.patch		\ | ||||
|   gnu/packages/patches/gobject-introspection-girepository.patch	\ | ||||
|   gnu/packages/patches/grep-CVE-2015-1345.patch			\ | ||||
|   gnu/packages/patches/grub-CVE-2015-8370.patch			\ | ||||
|   gnu/packages/patches/grub-gets-undeclared.patch		\ | ||||
|   gnu/packages/patches/grub-freetype.patch			\ | ||||
|   gnu/packages/patches/guile-1.8-cpp-4.5.patch			\ | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -83,7 +84,8 @@ | |||
|               (base32 | ||||
|                "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq")) | ||||
|              (patches (list (search-patch "grub-gets-undeclared.patch") | ||||
|                             (search-patch "grub-freetype.patch"))))) | ||||
|                             (search-patch "grub-freetype.patch") | ||||
|                             (search-patch "grub-CVE-2015-8370.patch"))))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("--disable-werror") | ||||
|  |  | |||
							
								
								
									
										45
									
								
								gnu/packages/patches/grub-CVE-2015-8370.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								gnu/packages/patches/grub-CVE-2015-8370.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| From 88c9657960a6c5d3673a25c266781e876c181add Mon Sep 17 00:00:00 2001 | ||||
| From: Hector Marco-Gisbert <hecmargi@upv.es> | ||||
| Date: Fri, 13 Nov 2015 16:21:09 +0100 | ||||
| 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 | ||||
| 
 | ||||
| Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es> | ||||
| Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es> | ||||
| ---
 | ||||
|  grub-core/lib/crypto.c  | 2 +- | ||||
|  grub-core/normal/auth.c | 2 +- | ||||
|  2 files changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
 | ||||
| index 010e550..524a3d8 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; | ||||
|  	} | ||||
|   | ||||
| -      if (key == '\b')
 | ||||
| +      if (key == '\b' && cur_len)
 | ||||
|  	{ | ||||
|  	  cur_len--; | ||||
|  	  continue; | ||||
| diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
 | ||||
| index c6bd96e..5782ec5 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; | ||||
|  	} | ||||
|   | ||||
| -      if (key == '\b')
 | ||||
| +      if (key == '\b' && cur_len)
 | ||||
|  	{ | ||||
|  	  cur_len--; | ||||
|  	  grub_printf ("\b"); | ||||
| -- 
 | ||||
| 1.9.1 | ||||
| 
 | ||||
		Reference in a new issue