Bug 1578661 - CVE-2018-10958 exiv2: SIGABRT caused by memory allocation in types.cpp:Exiv2::Internal::PngChunk::zlibUncompress() [fedora-all]
Summary: CVE-2018-10958 exiv2: SIGABRT caused by memory allocation in types.cpp:Exiv2:...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: exiv2
Version: 28
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: CVE-2018-10958
TreeView+ depends on / blocked
 
Reported: 2018-05-16 06:14 UTC by Sam Fowler
Modified: 2018-08-09 16:51 UTC (History)
3 users (show)

Fixed In Version: exiv2-0.26-12.fc28 exiv2-0.26-12.fc27
Doc Type: Release Note
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-08-07 01:16:55 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Sam Fowler 2018-05-16 06:14:00 UTC
This is an automatically created tracking bug!  It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.

For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.

For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs

When submitting as an update, use the fedpkg template provided in the next
comment(s).  This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.

Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.

NOTE: this issue affects multiple supported versions of Fedora. While only
one tracking bug has been filed, please correct all affected versions at
the same time.  If you need to fix the versions independent of each other,
you may clone this bug as appropriate.

Comment 1 Sam Fowler 2018-05-16 06:14:04 UTC
Use the following template to for the 'fedpkg update' request to submit an
update for this issue as it contains the top-level parent bug(s) as well as
this tracking bug.  This will ensure that all associated bugs get updated
when new packages are pushed to stable.

=====

# bugfix, security, enhancement, newpackage (required)
type=security

# testing, stable
request=testing

# Bug numbers: 1234,9876
bugs=1578659,1578661

# Description of your update
notes=Security fix for [PUT CVEs HERE]

# Enable request automation based on the stable/unstable karma thresholds
autokarma=True
stable_karma=3
unstable_karma=-3

# Automatically close bugs when this marked as stable
close_bugs=True

# Suggest that users restart after update
suggest_reboot=False

======

Additionally, you may opt to use the bodhi web interface to submit updates:

https://bodhi.fedoraproject.org/updates/new

Comment 2 Sam Fowler 2018-05-16 06:19:08 UTC
Reproduced on F27 with exiv2-0.26-6.fc27.src.rpm:

$ LD_LIBRARY_PATH=src/.libs/ ./bin/.libs/exiv2 -et ~/Downloads/id_000004\,sig_06\,src_000036\,op_havoc\,rep_128 
=================================================================
==30826==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61a000000510 at pc 0x7f6be024336e bp 0x7ffedbca98b0 sp 0x7ffedbca9058
READ of size 1137 at 0x61a000000510 thread T0
    #0 0x7f6be024336d  (/lib64/libasan.so.4+0x5136d)
    #1 0x7f6bdf0eb427 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (/lib64/libstdc++.so.6+0x128427)
    #2 0x7f6bdf6f132f in Exiv2::Internal::PngChunk::parseTXTChunk(Exiv2::DataBuf const&, int, Exiv2::Internal::PngChunk::TxtChunkType) /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/pngchunk.cpp:175
    #3 0x7f6bdf6f04ed in Exiv2::Internal::PngChunk::decodeTXTChunk(Exiv2::Image*, Exiv2::DataBuf const&, Exiv2::Internal::PngChunk::TxtChunkType) /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/pngchunk.cpp:83
    #4 0x7f6bdf6ebcbc in Exiv2::PngImage::readMetadata() /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/pngimage.cpp:465
    #5 0x440081 in Action::Extract::writeThumbnail() const /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/actions.cpp:1117
    #6 0x43ee97 in Action::Extract::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/actions.cpp:1075
    #7 0x410903 in main /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/exiv2.cpp:170
    #8 0x7f6bde6cbf29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
    #9 0x4101d9 in _start (/home/sfowler/rpmbuild/BUILD/exiv2-trunk/bin/.libs/exiv2+0x4101d9)

0x61a000000510 is located 0 bytes to the right of 1168-byte region [0x61a000000080,0x61a000000510)
allocated by thread T0 here:
    #0 0x7f6be02d2318 in operator new[](unsigned long) (/lib64/libasan.so.4+0xe0318)
    #1 0x7f6bdf57aed5 in Exiv2::DataBuf::DataBuf(long) ../include/exiv2/types.hpp:204
    #2 0x7f6bdf6eb92d in Exiv2::PngImage::readMetadata() /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/pngimage.cpp:426
    #3 0x440081 in Action::Extract::writeThumbnail() const /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/actions.cpp:1117
    #4 0x43ee97 in Action::Extract::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/actions.cpp:1075
    #5 0x410903 in main /home/sfowler/rpmbuild/BUILD/exiv2-trunk/src/exiv2.cpp:170
    #6 0x7f6bde6cbf29 in __libc_start_main (/lib64/libc.so.6+0x20f29)

SUMMARY: AddressSanitizer: heap-buffer-overflow (/lib64/libasan.so.4+0x5136d) 
Shadow bytes around the buggy address:
  0x0c347fff8050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c347fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c347fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c347fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c347fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c347fff80a0: 00 00[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c347fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c347fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c347fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c347fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c347fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==30826==ABORTING

Comment 3 Fedora Update System 2018-08-02 11:43:31 UTC
exiv2-0.26-12.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-871fa4d189

Comment 4 Fedora Update System 2018-08-02 11:44:11 UTC
exiv2-0.26-12.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-8b67a5c7e2

Comment 5 Fedora Update System 2018-08-02 14:30:29 UTC
exiv2-0.26-12.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-871fa4d189

Comment 6 Fedora Update System 2018-08-02 17:17:39 UTC
exiv2-0.26-12.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-8b67a5c7e2

Comment 7 Fedora Update System 2018-08-07 01:16:55 UTC
exiv2-0.26-12.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2018-08-09 16:51:37 UTC
exiv2-0.26-12.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.