New issue
Advanced search Search tips

Issue 732597 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Heap-use-after-free in blink::PaintController::CommitNewDisplayItems

Project Member Reported by ClusterFuzz, Jun 12 2017

Issue description

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

Fuzzer: ochang_domfuzzer
Job Type: linux_asan_chrome_v8_arm
Platform Id: linux

Crash Type: Heap-use-after-free WRITE 4
Crash Address: 0xcc03a6a4
Crash State:
  blink::PaintController::CommitNewDisplayItems
  blink::GraphicsLayer::Paint
  blink::LocalFrameView::PaintGraphicsLayerRecursively
  
Sanitizer: address (ASAN)

Recommended Security Severity: High

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=402316:402437

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


Issue filed automatically.

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Project Member

Comment 1 by sheriffbot@chromium.org, Jun 13 2017

Labels: M-61
Project Member

Comment 2 by sheriffbot@chromium.org, Jun 13 2017

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

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

Comment 3 by sheriffbot@chromium.org, Jun 13 2017

Labels: Pri-1

Comment 4 by est...@chromium.org, Jun 13 2017

Components: Blink>Paint
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
wangxianzhu, could you please take a look? It looks like you have some CLs in the regression range that look relevant.
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 16 2017

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

commit e341c2a2bfa2d102b83a900c0a282b01d5bf3c6c
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Fri Jun 16 23:33:44 2017

Fix crash when a stacked layer is removed from a non-stack composited layer

Previously we missed invalidatation of the compositing container
of the removed stacked layer.

Now invalidate the compositing container chain at the beginning of
PaintLayer::RemoveChild().

BUG= 732597 

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0bdebc096e459319bdd0d9010141e588dd1f6cb4
Reviewed-on: https://chromium-review.googlesource.com/536133
Reviewed-by: Chris harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480219}
[modify] https://crrev.com/e341c2a2bfa2d102b83a900c0a282b01d5bf3c6c/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/e341c2a2bfa2d102b83a900c0a282b01d5bf3c6c/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp

Labels: -M-61 M-60 Merge-Request-60
This is not a recent regression. The regression range might be the range that the crash stack changed.
Project Member

Comment 7 by ClusterFuzz, Jun 17 2017

ClusterFuzz has detected this issue as fixed in range 480214:480259.

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

Fuzzer: ochang_domfuzzer
Job Type: linux_asan_chrome_v8_arm
Platform Id: linux

Crash Type: Heap-use-after-free WRITE 4
Crash Address: 0xcc03a6a4
Crash State:
  blink::PaintController::CommitNewDisplayItems
  blink::GraphicsLayer::Paint
  blink::LocalFrameView::PaintGraphicsLayerRecursively
  
Sanitizer: address (ASAN)

Recommended Security Severity: High

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=402316:402437
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_v8_arm&range=480214:480259

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


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs 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, Jun 17 2017

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

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

Comment 9 by sheriffbot@chromium.org, Jun 17 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Project Member

Comment 10 by sheriffbot@chromium.org, Jun 17 2017

Labels: -Merge-Request-60 Hotlist-Merge-Review Merge-Review-60
This bug requires manual review: M60 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-60 Merge-Approved-60
Security bug, marked as RB-Beta - approving merge to M60.
Project Member

Comment 12 by bugdroid1@chromium.org, Jun 19 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c910fb43796e7149f5be348ecef0fecd9d34040

commit 0c910fb43796e7149f5be348ecef0fecd9d34040
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Mon Jun 19 03:16:42 2017

Fix crash when a stacked layer is removed from a non-stack composited layer

Previously we missed invalidatation of the compositing container
of the removed stacked layer.

Now invalidate the compositing container chain at the beginning of
PaintLayer::RemoveChild().

BUG= 732597 
TBR=wangxianzhu@chromium.org

(cherry picked from commit e341c2a2bfa2d102b83a900c0a282b01d5bf3c6c)

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0bdebc096e459319bdd0d9010141e588dd1f6cb4
Reviewed-on: https://chromium-review.googlesource.com/536133
Reviewed-by: Chris harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#480219}
Reviewed-on: https://chromium-review.googlesource.com/539155
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#380}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/0c910fb43796e7149f5be348ecef0fecd9d34040/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/0c910fb43796e7149f5be348ecef0fecd9d34040/third_party/WebKit/Source/core/paint/PaintLayerTest.cpp

Labels: -Hotlist-Merge-Review -ReleaseBlock-Beta
Project Member

Comment 14 by sheriffbot@chromium.org, Sep 23 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