New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 779949 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Heap-buffer-overflow in SkPixmap::getColor

Project Member Reported by ClusterFuzz, Oct 31 2017

Issue description

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

Fuzzer: ochang_domfuzzer
Job Type: linux_asan_content_shell_drt
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x7f0de797ed00
Crash State:
  SkPixmap::getColor
  blink::DrawingDisplayItem::Equals
  blink::PaintController::CheckUnderInvalidation
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_content_shell_drt&range=511932:511984

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

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Oct 31 2017

Components: Blink>Paint
Labels: Test-Predator-AutoComponents
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, Oct 31 2017

Labels: Test-Predator-AutoOwner
Owner: wkorman@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/40adb55b190f1c1272be5d914354d89d67bf7632 (Remove DrawingRecorder's bounds parameter.).

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

Comment 3 by sheriffbot@chromium.org, Oct 31 2017

Labels: M-64
Project Member

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

Labels: Pri-1
Owner: wangxianzhu@chromium.org
Cc: wkorman@chromium.org
Labels: -ReleaseBlock-Stable
This doesn't have real impact to users.
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 31 2017

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

commit 7917059b8d61dd8e42e6b48907bd05bb02ff3e2b
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Tue Oct 31 23:02:14 2017

Fix buffer overflow in DrawingDisplayItem::Equals()

We should use IntRect instead of FloatRect for the bounds of bitmap.
Previously the loop variables in BitmapEquals() exceeded the
actual bounds of the bitmap if the given FloatRect was not integral.

Bug:  779949 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ib814cc8d3dcdcd9404654cd1f6352fb98d1e15f9
Reviewed-on: https://chromium-review.googlesource.com/746988
Reviewed-by: Walter Korman <wkorman@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512988}
[modify] https://crrev.com/7917059b8d61dd8e42e6b48907bd05bb02ff3e2b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/7917059b8d61dd8e42e6b48907bd05bb02ff3e2b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
[modify] https://crrev.com/7917059b8d61dd8e42e6b48907bd05bb02ff3e2b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItemTest.cpp

Status: Fixed (was: Assigned)
Project Member

Comment 10 by ClusterFuzz, Nov 1 2017

ClusterFuzz has detected this issue as fixed in range 512981:513016.

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

Fuzzer: ochang_domfuzzer
Job Type: linux_asan_content_shell_drt
Platform Id: linux

Crash Type: Heap-buffer-overflow READ 4
Crash Address: 0x7f0de797ed00
Crash State:
  SkPixmap::getColor
  blink::DrawingDisplayItem::Equals
  blink::PaintController::CheckUnderInvalidation
  
Sanitizer: address (ASAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_content_shell_drt&range=511932:511984
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_content_shell_drt&range=512981:513016

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

See https://github.com/google/clusterfuzz-tools 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, Nov 1 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Fixed)
ClusterFuzz testcase 4528142671937536 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, Nov 1 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: Test-Predator-Auto-CC
Labels: -Test-Predator-AutoComponents Test-Predator-Auto-Components
Labels: -Test-Predator-AutoOwner Test-Predator-Auto-Owner
Labels: -Test-Predator-Auto-CC
Project Member

Comment 17 by sheriffbot@chromium.org, Feb 8 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 18 by sheriffbot@chromium.org, Mar 27 2018

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

Sign in to add a comment