New issue
Advanced search Search tips

Issue 875282 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Aug 21
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Integer-overflow in CFX_RTFBreak::AppendChar_Others

Project Member Reported by ClusterFuzz, Aug 17

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=6168938111827968

Fuzzer: libFuzzer_pdfium_xfa_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  CFX_RTFBreak::AppendChar_Others
  CFX_RTFBreak::AppendChar
  CXFA_TextLayout::AppendChar
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=576839:576840

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6168938111827968

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.
 
Project Member

Comment 1 by ClusterFuzz, Aug 17

Components: Internals>Plugins>PDF
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Aug 17

Cc: art-sn...@yandex-team.ru
Labels: Test-Predator-Auto-CC
Automatically adding ccs based on suspected regression changelists:

Rework of CPDF_Parser::RebuildCrossRef. by art-snake@yandex-team.ru - https://pdfium.googlesource.com/pdfium/+/c68109a2dac3be544b7753d1fd677255d859745b

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label.
Cc: -art-sn...@yandex-team.ru
Owner: thestig@google.com
Status: Assigned (was: Untriaged)
Issue probably always existed in CFX_RTFBreak.
Owner: thestig@chromium.org
Bad autofill.
Project Member

Comment 5 by bugdroid1@chromium.org, Aug 20

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/79d8cfb7848c05bc34c2c0a10276c9919a9b4e96

commit 79d8cfb7848c05bc34c2c0a10276c9919a9b4e96
Author: Lei Zhang <thestig@chromium.org>
Date: Mon Aug 20 17:51:49 2018

Avoid an integer overflow in CFX_RTFBreak.

The root cause is an extremely large reserve count. Limit it to the size
of the widget.

BUG= chromium:875282 

Change-Id: Ia3bbb07503ce349adc2662731d22317bda7df4ef
Reviewed-on: https://pdfium-review.googlesource.com/40652
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>

[modify] https://crrev.com/79d8cfb7848c05bc34c2c0a10276c9919a9b4e96/xfa/fxfa/cxfa_fffield.cpp

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/103db9dd7da3e4c1fd34034a7dbf160964bde4f9

commit 103db9dd7da3e4c1fd34034a7dbf160964bde4f9
Author: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue Aug 21 03:48:44 2018

Roll src/third_party/pdfium 5b10a4c713fb..b2b00c31f48c (10 commits)

https://pdfium.googlesource.com/pdfium.git/+log/5b10a4c713fb..b2b00c31f48c


git log 5b10a4c713fb..b2b00c31f48c --date=short --no-merges --format='%ad %ae %s'
2018-08-20 tsepez@chromium.org Use UnownedPtr<> in JBig2_GrdProc.h
2018-08-20 tsepez@chromium.org Use UnownedPtr<> in CXFA_GEColor.
2018-08-20 tsepez@chromium.org Use UnownedPtr<> in CPDF_ObjectWalker.
2018-08-20 tsepez@chromium.org Use more UnownedPtr<> in CPWL_Wnd::CreateParams.
2018-08-20 thestig@chromium.org Fix nits in CXFA_Node.
2018-08-20 thestig@chromium.org Clean up CXFA_Graphics::SetLineDash().
2018-08-20 thestig@chromium.org Fix reversed arguments to GenerateResourceDict().
2018-08-20 thestig@chromium.org Simplify CPDF_InterForm::GenerateNewResourceName().
2018-08-20 thestig@chromium.org Avoid an integer overflow in CFX_RTFBreak.
2018-08-20 thestig@chromium.org Use more consts in CFX_Break.


Created with:
  gclient setdep -r src/third_party/pdfium@b2b00c31f48c

The AutoRoll server is located here: https://pdfium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



BUG= chromium:875282 
TBR=dsinclair@chromium.org

Change-Id: Ib1dfc7139886c5721ccd3180cb512b04ce4c293f
Reviewed-on: https://chromium-review.googlesource.com/1182641
Reviewed-by: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: pdfium-chromium-autoroll <pdfium-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#584640}
[modify] https://crrev.com/103db9dd7da3e4c1fd34034a7dbf160964bde4f9/DEPS

Project Member

Comment 7 by ClusterFuzz, Aug 21

ClusterFuzz has detected this issue as fixed in range 584634:584644.

Detailed report: https://clusterfuzz.com/testcase?key=6168938111827968

Fuzzer: libFuzzer_pdfium_xfa_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  CFX_RTFBreak::AppendChar_Others
  CFX_RTFBreak::AppendChar
  CXFA_TextLayout::AppendChar
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=576839:576840
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_ubsan&range=584634:584644

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6168938111827968

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 8 by ClusterFuzz, Aug 21

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 6168938111827968 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment