* gnu/packages/patches/gimp-CVE-2017-17784.patch, gnu/packages/patches/gimp-CVE-2017-17785.patch, gnu/packages/patches/gimp-CVE-2017-17786.patch, gnu/packages/patches/gimp-CVE-2017-17787.patch, gnu/packages/patches/gimp-CVE-2017-17789.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/gimp.scm (gimp)[source]: Use them.
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Fix CVE-2017-17789:
 | |
| 
 | |
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17789
 | |
| https://bugzilla.gnome.org/show_bug.cgi?id=790849
 | |
| 
 | |
| Patch copied from upstream source repository:
 | |
| 
 | |
| https://git.gnome.org/browse/gimp/commit/?id=01898f10f87a094665a7fdcf7153990f4e511d3f
 | |
| 
 | |
| From 01898f10f87a094665a7fdcf7153990f4e511d3f Mon Sep 17 00:00:00 2001
 | |
| From: Jehan <jehan@girinstud.io>
 | |
| Date: Wed, 20 Dec 2017 16:44:20 +0100
 | |
| Subject: [PATCH] Bug 790849 - (CVE-2017-17789) CVE-2017-17789 Heap buffer
 | |
|  overflow...
 | |
| 
 | |
| ... in PSP importer.
 | |
| Check if declared block length is valid (i.e. within the actual file)
 | |
| before going further.
 | |
| Consider the file as broken otherwise and fail loading it.
 | |
| 
 | |
| (cherry picked from commit 28e95fbeb5720e6005a088fa811f5bf3c1af48b8)
 | |
| ---
 | |
|  plug-ins/common/file-psp.c | 9 +++++++++
 | |
|  1 file changed, 9 insertions(+)
 | |
| 
 | |
| diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c
 | |
| index ac0fff78f0..4cbafe37b1 100644
 | |
| --- a/plug-ins/common/file-psp.c
 | |
| +++ b/plug-ins/common/file-psp.c
 | |
| @@ -1771,6 +1771,15 @@ load_image (const gchar  *filename,
 | |
|      {
 | |
|        block_start = ftell (f);
 | |
|  
 | |
| +      if (block_start + block_total_len > st.st_size)
 | |
| +        {
 | |
| +          g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
 | |
| +                       _("Could not open '%s' for reading: %s"),
 | |
| +                       gimp_filename_to_utf8 (filename),
 | |
| +                       _("invalid block size"));
 | |
| +          goto error;
 | |
| +        }
 | |
| +
 | |
|        if (id == PSP_IMAGE_BLOCK)
 | |
|          {
 | |
|            if (block_number != 0)
 | |
| -- 
 | |
| 2.15.1
 | |
| 
 |