Bug 1578661
| Summary: | CVE-2018-10958 exiv2: SIGABRT caused by memory allocation in types.cpp:Exiv2::Internal::PngChunk::zlibUncompress() [fedora-all] | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Sam Fowler <sfowler> | 
| Component: | exiv2 | Assignee: | Rex Dieter <rdieter> | 
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | 
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 28 | CC: | michel, rdieter, sfowler | 
| Target Milestone: | --- | Keywords: | Security, SecurityTracking | 
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | exiv2-0.26-12.fc28 exiv2-0.26-12.fc27 | Doc Type: | Release Note | 
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-08-07 01:16:55 UTC | Type: | --- | 
| Regression: | --- | Mount Type: | --- | 
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1578659 | ||
| 
        
          Description
        
        
          Sam Fowler
        
        
        
        
        
          2018-05-16 06:14:00 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 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
exiv2-0.26-12.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-871fa4d189 exiv2-0.26-12.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-8b67a5c7e2 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 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 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. 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. |