Fix CVE-2018-11813 (#1588804)
This commit is contained in:
		
							parent
							
								
									00790f8027
								
							
						
					
					
						commit
						a2d36ac1a0
					
				
							
								
								
									
										59
									
								
								libjpeg-turbo-CVE-2018-11813.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								libjpeg-turbo-CVE-2018-11813.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| From fccf53aed0093a626fca15f0d25f46fb6ed3e770 Mon Sep 17 00:00:00 2001 | ||||
| From: DRC <information@libjpeg-turbo.org> | ||||
| Date: Tue, 12 Jun 2018 16:08:26 -0500 | ||||
| Subject: [PATCH] Fix CVE-2018-11813 | ||||
| 
 | ||||
| Fixed an issue (CVE-2018-11813) whereby a specially-crafted malformed input | ||||
| file (specifically, a file with a valid Targa header but incomplete pixel data) | ||||
| would cause cjpeg to generate a JPEG file that was potentially thousands of | ||||
| times larger than the input file.  The Targa reader in cjpeg was not properly | ||||
| detecting that the end of the input file had been reached prematurely, so after | ||||
| all valid pixels had been read from the input, the reader injected dummy pixels | ||||
| with values of 255 into the JPEG compressor until the number of pixels | ||||
| specified in the Targa header had been compressed.  The Targa reader in cjpeg | ||||
| now behaves like the PPM reader and aborts compression if the end of the input | ||||
| file is reached prematurely.  Because this issue only affected cjpeg and not | ||||
| the underlying library, and because it did not involve any out-of-bounds reads | ||||
| or other exploitable behaviors, it was not believed to represent a security | ||||
| threat. | ||||
| ---
 | ||||
|  rdtarga.c | 6 ++---- | ||||
|  1 file changed, 2 insertions(+), 4 deletions(-) | ||||
| 
 | ||||
| diff --git a/rdtarga.c b/rdtarga.c
 | ||||
| index ecb4219..e0c6947 100644
 | ||||
| --- a/rdtarga.c
 | ||||
| +++ b/rdtarga.c
 | ||||
| @@ -126,11 +126,10 @@ METHODDEF(void)
 | ||||
|  read_non_rle_pixel(tga_source_ptr sinfo) | ||||
|  /* Read one Targa pixel from the input file; no RLE expansion */ | ||||
|  { | ||||
| -  register FILE *infile = sinfo->pub.input_file;
 | ||||
|    register int i; | ||||
|   | ||||
|    for (i = 0; i < sinfo->pixel_size; i++) { | ||||
| -    sinfo->tga_pixel[i] = (U_CHAR)getc(infile);
 | ||||
| +    sinfo->tga_pixel[i] = (U_CHAR)read_byte(sinfo);
 | ||||
|    } | ||||
|  } | ||||
|   | ||||
| @@ -139,7 +138,6 @@ METHODDEF(void)
 | ||||
|  read_rle_pixel(tga_source_ptr sinfo) | ||||
|  /* Read one Targa pixel from the input file, expanding RLE data as needed */ | ||||
|  { | ||||
| -  register FILE *infile = sinfo->pub.input_file;
 | ||||
|    register int i; | ||||
|   | ||||
|    /* Duplicate previously read pixel? */ | ||||
| @@ -161,7 +159,7 @@ read_rle_pixel(tga_source_ptr sinfo)
 | ||||
|   | ||||
|    /* Read next pixel */ | ||||
|    for (i = 0; i < sinfo->pixel_size; i++) { | ||||
| -    sinfo->tga_pixel[i] = (U_CHAR)getc(infile);
 | ||||
| +    sinfo->tga_pixel[i] = (U_CHAR)read_byte(sinfo);
 | ||||
|    } | ||||
|  } | ||||
|   | ||||
| -- 
 | ||||
| 2.17.1 | ||||
| 
 | ||||
| @ -1,12 +1,13 @@ | ||||
| Name:           libjpeg-turbo | ||||
| Version:        1.5.90 | ||||
| Release:        1%{?dist} | ||||
| Release:        2%{?dist} | ||||
| Summary:        A MMX/SSE2/SIMD accelerated library for manipulating JPEG image files | ||||
| License:        IJG | ||||
| URL:            http://sourceforge.net/projects/libjpeg-turbo | ||||
| 
 | ||||
| Source0:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz | ||||
| Patch0:         libjpeg-turbo-cmake.patch | ||||
| Patch1:         libjpeg-turbo-CVE-2018-11813.patch | ||||
| 
 | ||||
| BuildRequires:  gcc | ||||
| BuildRequires:  cmake | ||||
| @ -69,6 +70,7 @@ manipulate JPEG files using the TurboJPEG library. | ||||
| %prep | ||||
| %setup -q | ||||
| %patch0 -p1 | ||||
| %patch1 -p1 | ||||
| 
 | ||||
| %build | ||||
| %{cmake} -DCMAKE_SKIP_RPATH:BOOL=YES \ | ||||
| @ -168,6 +170,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %{?_smp_mflags} | ||||
| %{_libdir}/pkgconfig/libturbojpeg.pc | ||||
| 
 | ||||
| %changelog | ||||
| * Fri Jun 15 2018 Nikola Forró <nforro@redhat.com> - 1.5.90-2 | ||||
| - Fix CVE-2018-11813 (#1588804) | ||||
| 
 | ||||
| * Wed Mar 28 2018 Nikola Forró <nforro@redhat.com> - 1.5.90-1 | ||||
| - New upstream release 1.5.90 (#1560219) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user