New issue
Advanced search Search tips

Issue 792810 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Heap-buffer-overflow in SkReader32::readInt

Project Member Reported by ClusterFuzz, Dec 7 2017

Issue description

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

Fuzzer: libFuzzer_paint_op_buffer_eq_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x60f0000002c8
Crash State:
  SkReader32::readInt
  SkReadBuffer::readFlattenable
  sk_sp<SkShaderBase> SkReadBuffer::readFlattenable<SkShaderBase>
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=522260:522296

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Dec 7 2017

Components: Internals>Skia
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, Dec 7 2017

Labels: Test-Predator-Auto-Owner
Owner: reed@google.com
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://skia.googlesource.com/skia/+/fadbfcd4aba676d44dfb08de1a83143a1c63b95c (upgrade SkReadBuffer to always validate).

If this is incorrect, please remove the owner and apply the Test-Predator-Wrong-CLs label.
Project Member

Comment 3 by sheriffbot@chromium.org, Dec 7 2017

Labels: M-64
Project Member

Comment 4 by sheriffbot@chromium.org, Dec 7 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 5 by sheriffbot@chromium.org, Dec 7 2017

Labels: Pri-1
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 7 2017

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/75d55d3d4509669009d6202cab23ce9320fe8577

commit 75d55d3d4509669009d6202cab23ce9320fe8577
Author: Mike Reed <reed@google.com>
Date: Thu Dec 07 19:20:59 2017

don't read directly from fReader for bare types, need available check

Bug:792810
Change-Id: Ibb9d4b1dff05d48d7cb6674acf88a7a461bca818
Reviewed-on: https://skia-review.googlesource.com/82180
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>

[modify] https://crrev.com/75d55d3d4509669009d6202cab23ce9320fe8577/src/core/SkReadBuffer.cpp

Project Member

Comment 7 by ClusterFuzz, Dec 8 2017

ClusterFuzz has detected this issue as fixed in range 522504:522639.

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

Fuzzer: libFuzzer_paint_op_buffer_eq_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x60f0000002c8
Crash State:
  SkReader32::readInt
  SkReadBuffer::readFlattenable
  sk_sp<SkShaderBase> SkReadBuffer::readFlattenable<SkShaderBase>
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=522260:522296
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=522504:522639

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

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, Dec 8 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 5063060908933120 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 9 by sheriffbot@chromium.org, Dec 8 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify

Comment 10 by mmoroz@google.com, Jan 5 2018

Cc: enne@chromium.org
Project Member

Comment 11 by sheriffbot@chromium.org, Mar 16 2018

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
Project Member

Comment 12 by sheriffbot@chromium.org, Mar 27 2018

Labels: -Security_Impact-Head -M-64 M-65 Security_Impact-Stable
Labels: -ReleaseBlock-Stable

Sign in to add a comment