#10576: libjpeg-turbo-2.0.0
-------------------------+-----------------------
 Reporter:  bdubbs       |       Owner:  bdubbs
     Type:  enhancement  |      Status:  assigned
 Priority:  normal       |   Milestone:  8.3
Component:  BOOK         |     Version:  SVN
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------

Comment (by bdubbs):

 ### Significant changes relative to 2.0 beta1:

 1. The TurboJPEG API can now decompress CMYK JPEG images that have
 subsampled M
 and Y components (not to be confused with YCCK JPEG images, in which the
 C/M/Y
 components have been transformed into luma and chroma.)   Previously, an
 error
 was generated ("Could not determine subsampling type for JPEG image") when
 such
 an image was passed to `tjDecompressHeader3()`, `tjTransform()`,
 `tjDecompressToYUVPlanes()`, `tjDecompressToYUV2()`, or the equivalent
 Java
 methods.

 2. 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.

 3. Fixed an issue whereby the `tjLoadImage()` and `tjSaveImage()`
 functions
 would produce a "Bogus message code" error message if the underlying
 bitmap and
 PPM readers/writers threw an error that was specific to the
 readers/writers
 (as opposed to a general libjpeg API error.)

 4. Fixed an issue whereby a specially-crafted malformed BMP file, one in
 which
 the header specified an image width of 1073741824 pixels, would trigger a
 floating point exception (division by zero) in the `tjLoadImage()`
 function
 when attempting to load the BMP file into a 4-component image buffer.

 5. Fixed an issue whereby certain combinations of calls to
 `jpeg_skip_scanlines()` and `jpeg_read_scanlines()` could trigger an
 infinite
 loop when decompressing progressive JPEG images that use vertical chroma
 subsampling (for instance, 4:2:0 or 4:4:0.)

 6. Fixed a segfault in `jpeg_skip_scanlines()` that occurred when
 decompressing
 a 4:2:2 or 4:2:0 JPEG image using the merged (non-fancy) upsampling
 algorithms
 (that is, when setting `cinfo.do_fancy_upsampling` to `FALSE`.)

 7. The new CMake-based build system will now disable the MIPS DSPr2 SIMD
 extensions if it detects that the compiler does not support DSPr2
 instructions.
 8. Fixed out-of-bounds read in cjpeg that occurred when attempting to
 compress
 a specially-crafted malformed color-index (8-bit-per-sample) BMP file in
 which
 some of the samples (color indices) exceeded the bounds of the BMP file's
 color
 table.

 9. Fixed a signed integer overflow in the progressive Huffman decoder,
 detected
 by the Clang and GCC undefined behavior sanitizers, that could be
 triggered by
 attempting to decompress a specially-crafted malformed JPEG image.  This
 issue
 did not pose a security threat, but removing the warning made it easier to
 detect actual security issues, should they arise in the future.

--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/10576#comment:7>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to