New issue
Advanced search Search tips

Issue 618290 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 616669
Owner: ----
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: ----
Type: Bug-Security



Sign in to add a comment

Security: [PDFium] AddressSanitizer: heap-buffer-overflow

Reported by marcin.t...@gmail.com, Jun 8 2016

Issue description

VULNERABILITY DETAILS

Vulnerability : Heap-buffer-overflow

VERSION
Pdfium - git version from https://pdfium.googlesource.com/pdfium/ (today)
Compiled : GYP_DEFINES='asan=1 symbol_level=1' gclient runhooks ; ninja -C out/Debug
Operating System: Ubuntu 14.04 LTS x64

REPRODUCTION CASE
./pdf_codec_bmp_fuzzer pdf_bmp-heap-buffer-overflow-1.bmp

ASAN LOG (symbolized):

=================================================================
==25621==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000efc1 at pc 0x00000063ac99 bp 0x7ffcb8cf2430 sp 0x7ffcb8cf2428
READ of size 1 at 0x60300000efc1 thread T0
    #0 0x63ac98 in GetDWord_LSBFirst /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/lbmp/fx_bmp.cpp:18:47
    #1 0x635edc in bmp_read_header /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/lbmp/fx_bmp.cpp:86:9
    #2 0x62dff5 in ReadHeader /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/codec/fx_codec_bmp.cpp:90:17
    #3 0x5f27fa in DetectImageType /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/codec/fx_codec_progress.cpp:1034:28
    #4 0x5f6bfb in LoadImageInfo /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/codec/fx_codec_progress.cpp:1282:7
    #5 0x4de179 in Fuzz /home/mtowalski/git_pdfium/pdfium/out/Debug/../../testing/libfuzzer/xfa_codec_fuzzer.h:22:29
    #6 0x4ddf46 in LLVMFuzzerTestOneInput /home/mtowalski/git_pdfium/pdfium/out/Debug/../../testing/libfuzzer/pdf_codec_bmp_fuzzer.cc:8:10
    #7 0x4e5f12 in main /home/mtowalski/git_pdfium/pdfium/out/Debug/../../testing/libfuzzer/unittest_main.cc:39:5
    #8 0x7f7650bfff44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287:0
    #9 0x41bcde in _start ??:?

0x60300000efc1 is located 0 bytes to the right of 17-byte region [0x60300000efb0,0x60300000efc1)
allocated by thread T0 here:
    #0 0x4b0511 in calloc ??:?
    #1 0x4f453f in FX_AllocOrDie /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcrt/include/fx_memory.h:39:22
    #2 0x5f2005 in DetectImageType /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/codec/fx_codec_progress.cpp:1008:15
    #3 0x5f6bfb in LoadImageInfo /home/mtowalski/git_pdfium/pdfium/out/Debug/../../core/fxcodec/codec/fx_codec_progress.cpp:1282:7
    #4 0x4de179 in Fuzz /home/mtowalski/git_pdfium/pdfium/out/Debug/../../testing/libfuzzer/xfa_codec_fuzzer.h:22:29
    #5 0x4ddf46 in LLVMFuzzerTestOneInput /home/mtowalski/git_pdfium/pdfium/out/Debug/../../testing/libfuzzer/pdf_codec_bmp_fuzzer.cc:8:10
    #6 0x4e5f12 in main /home/mtowalski/git_pdfium/pdfium/out/Debug/../../testing/libfuzzer/unittest_main.cc:39:5
    #7 0x7f7650bfff44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287:0

SUMMARY: AddressSanitizer: heap-buffer-overflow (/home/mtowalski/git_pdfium/pdfium/out/Debug/pdf_codec_bmp_fuzzer+0x63ac98)
Shadow bytes around the buggy address:
  0x0c067fff9da0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9db0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9dc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9dd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9de0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c067fff9df0: fa fa fa fa fa fa 00 00[01]fa fa fa 00 00 00 00
  0x0c067fff9e00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9e10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9e20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9e30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c067fff9e40: 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
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  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
==25621==ABORTING
 
pdf_bmp-heap-buffer-overflow-1.bmp
17 bytes Download
Project Member

Comment 1 by ClusterFuzz, Jun 9 2016

ClusterFuzz is analyzing your testcase. Developers can follow the progress at https://cluster-fuzz.appspot.com/testcase?key=6722189151961088
Cc: och...@chromium.org
Components: Infra>Client>Pdfium
ochang -- Is linux_asam_pdfium the best job type for this poc?  Thanks.
Components: -Infra>Client>Pdfium Internals>Plugins>PDF
Mergedinto: 616669
Status: Duplicate (was: Unconfirmed)
Labels: allpublic
Project Member

Comment 6 by sheriffbot@chromium.org, May 9 2018

Labels: -Restrict-View-SecurityTeam
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment