New issue
Advanced search Search tips

Issue 752725 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

Heap-buffer-overflow in TetrahedralInterpFloat - pdf_codec_icc_fuzzer

Project Member Reported by ClusterFuzz, Aug 5 2017

Issue description

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

Fuzzer: libFuzzer_pdf_codec_icc_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x608000002c80
Crash State:
  TetrahedralInterpFloat
  _LUTeval16
  PrecalculatedXFORM
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=420440:420580

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


Issue filed automatically.

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

Comment 1 by sheriffbot@chromium.org, Aug 5 2017

Labels: M-61
Project Member

Comment 2 by sheriffbot@chromium.org, Aug 5 2017

Labels: ReleaseBlock-Stable
This is a serious security regression. If you are not able to fix this quickly, please revert the change that introduced it.

If this doesn't affect a release branch, or has not been properly classified for severity, please update the Security_Impact or Security_Severity labels, and remove the ReleaseBlock label. To disable this altogether, apply ReleaseBlock-NA.

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

Comment 3 by sheriffbot@chromium.org, Aug 5 2017

Labels: Pri-1
Components: Internals>Plugins>PDF
Summary: Heap-buffer-overflow in TetrahedralInterpFloat - pdf_codec_icc_fuzzer (was: Heap-buffer-overflow in TetrahedralInterpFloat)
Cc: thestig@chromium.org
Owner: dsinclair@chromium.org
Status: Assigned (was: Untriaged)
Labels: -Security_Impact-Beta -ReleaseBlock-Stable -M-61 M-62 Security_Impact-Stable
Cc: npm@chromium.org

Comment 8 by npm@chromium.org, Aug 11 2017

Cc: -npm@chromium.org dsinclair@chromium.org
Owner: npm@chromium.org
Upgrading LCMS first, but I don't think this has been resolved in their latest version.
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 25 2017

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/175a8588f4290df8ec32d697c0248eb5c6b2c396

commit 175a8588f4290df8ec32d697c0248eb5c6b2c396
Author: Nicolas Pena <npm@chromium.org>
Date: Fri Aug 25 18:03:45 2017

Do not QuickFloor on cmsintrp

In this CL, the flag CMS_DONT_USE_FAST_FLOOR is set to true because quickfloor
could cause heap-buffer-overflow due to flooring errors. In the testcase for
the bug, Input[2] is a number very close but smaller than 1 such that
quickfloor returned 1 (whereas Input[2] >= 1.0 was false).

Bug:  chromium:752725 
Change-Id: Ibb1763aa120a600e86602f1a46c4cd6d0d6bebd5
Reviewed-on: https://pdfium-review.googlesource.com/11310
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>

[modify] https://crrev.com/175a8588f4290df8ec32d697c0248eb5c6b2c396/third_party/lcms/README.pdfium
[modify] https://crrev.com/175a8588f4290df8ec32d697c0248eb5c6b2c396/third_party/lcms/include/lcms2.h
[add] https://crrev.com/175a8588f4290df8ec32d697c0248eb5c6b2c396/third_party/lcms/0028-do-not-quickfloor.patch

Project Member

Comment 10 by ClusterFuzz, Aug 26 2017

ClusterFuzz has detected this issue as fixed in range 497463:497522.

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

Fuzzer: libFuzzer_pdf_codec_icc_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x608000002c80
Crash State:
  TetrahedralInterpFloat
  _LUTeval16
  PrecalculatedXFORM
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=420440:420580
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=497463:497522

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

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.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 11 by ClusterFuzz, Aug 26 2017

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

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

Comment 12 by sheriffbot@chromium.org, Aug 26 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: Release-0-M62
Project Member

Comment 14 by sheriffbot@chromium.org, Dec 2 2017

Labels: -Restrict-View-SecurityNotify allpublic
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