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
|
Name: libjpeg-turbo
|
||||||
Version: 1.5.90
|
Version: 1.5.90
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: A MMX/SSE2/SIMD accelerated library for manipulating JPEG image files
|
Summary: A MMX/SSE2/SIMD accelerated library for manipulating JPEG image files
|
||||||
License: IJG
|
License: IJG
|
||||||
URL: http://sourceforge.net/projects/libjpeg-turbo
|
URL: http://sourceforge.net/projects/libjpeg-turbo
|
||||||
|
|
||||||
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
|
||||||
Patch0: libjpeg-turbo-cmake.patch
|
Patch0: libjpeg-turbo-cmake.patch
|
||||||
|
Patch1: libjpeg-turbo-CVE-2018-11813.patch
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
@ -69,6 +70,7 @@ manipulate JPEG files using the TurboJPEG library.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%{cmake} -DCMAKE_SKIP_RPATH:BOOL=YES \
|
%{cmake} -DCMAKE_SKIP_RPATH:BOOL=YES \
|
||||||
@ -168,6 +170,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} make test %{?_smp_mflags}
|
|||||||
%{_libdir}/pkgconfig/libturbojpeg.pc
|
%{_libdir}/pkgconfig/libturbojpeg.pc
|
||||||
|
|
||||||
%changelog
|
%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
|
* Wed Mar 28 2018 Nikola Forró <nforro@redhat.com> - 1.5.90-1
|
||||||
- New upstream release 1.5.90 (#1560219)
|
- New upstream release 1.5.90 (#1560219)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user