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

Issue 683845 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug-Security



Sign in to add a comment

Heap-use-after-free in layer

Project Member Reported by ClusterFuzz, Jan 23 2017

Issue description

Project Member

Comment 1 by sheriffbot@chromium.org, Jan 23 2017

Labels: M-57
Project Member

Comment 2 by sheriffbot@chromium.org, Jan 23 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, Jan 23 2017

Labels: Pri-1

Comment 4 by palmer@chromium.org, Jan 24 2017

Cc: e...@chromium.org
Components: Blink>Layout
Labels: OS-Android OS-Chrome OS-Mac OS-Windows
Owner: ojan@chromium.org
Assigning to ojan for further triage. Probably affects all Blink platforms?
Project Member

Comment 5 by sheriffbot@chromium.org, Jan 24 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 6 by sheriffbot@chromium.org, Jan 24 2017

Status: Assigned (was: Untriaged)
URGENT - PLEASE REVIEW ASAP

Greetings from the release team!

This bug is marked as an M-57 beta blocker, which means it needs to be fixed on trunk by THIS FRIDAY, Jan 27 in order to be merged back to the M57 branch on time.  Please prioritize fixing this issue.

Unsure if this bug should block the beta release, or know it should block but you won't be able to fix it in time?  CC me to this bug and we can discuss.

If you're absolutely sure this should not block beta, the bug can be punted to stable (by changing ReleaseBlock-Beta to ReleaseBlock-Stable), or if the bug should not block the release at all simply remove the release block tag.

Thanks,
Alex

Comment 8 by e...@chromium.org, Jan 25 2017

Cc: sigbjo...@opera.com
Owner: tkent@chromium.org
r444735 (https://codereview.chromium.org/2640163004) looks like the culprit even though it claims to have no effect. We've seen issues in the past DCHECKS aren't correctly complied away. It is the only change in the regression range that touches either layout or paint. Three separate bisects have identified the same range.
 
Another possible culprit is r444760 (https://codereview.chromium.org/2645873002)

Comment 9 by e...@chromium.org, Jan 25 2017

Labels: Needs-Bisect
Could we please get a narrower bisect on this?

Comment 10 by aarya@google.com, Jan 25 2017

Cc: infe...@chromium.org

Comment 12 by tkent@chromium.org, Jan 25 2017

Cc: tkent@chromium.org
Owner: e...@chromium.org
Manual minimization:

<script>
function event_handler_15E_load() {
  document.querySelector('style').insertAdjacentHTML('afterbegin', '/m_______ZZZZZZZZZZZ(((((P%%%%')
}
document.addEventListener("load", event_handler_15E_load, true);

function event_handler_15F_DOMNodeInserted() {
  var node = event.srcElement;
  // document.body.offsetWidth doesn't reproduce the issue. It seems we need to
  // update style, but should not do layout here.
  alert(node);
  node.parentNode.replaceChild(document.querySelector('input'), node)
}
document.addEventListener("DOMNodeInserted", event_handler_15F_DOMNodeInserted);
</script>
<style>
.CLASS10{float:left;}
.CLASS13{display:list-item;}
</style>
<ruby>
<map class="CLASS10 CLASS13"></map>
a
<input class="CLASS13">
<rt class="CLASS13">
<rtc>

I reverted my #444735 and #445020 locally, and confirmed the UAF was still reproducible.  I guess this is not a recent regression.  Layout team should work on this.


[Bulk edit]

A friendly reminder that M57 Beta launch is coming soon on February 2nd (in a week)! Your bug is labelled as Beta ReleaseBlock, pls make sure to land the fix and get it merged into the release branch (2987) ASAP so it gets enough baking time in Dev (before Beta promotion). Thank you!
Project Member

Comment 14 by sheriffbot@chromium.org, Jan 26 2017

Labels: -Security_Impact-Head Security_Impact-Beta
Labels: -ReleaseBlock-Beta ReleaseBlock-Stable

Comment 16 by e...@chromium.org, Jan 27 2017

Owner: cbiesin...@chromium.org
Could you take a look at this blocker Christian?
Project Member

Comment 17 by ClusterFuzz, Jan 28 2017

ClusterFuzz has detected this issue as fixed in range 446318:446618.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5320575225692160

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_lsan_chrome_mp
Platform Id: linux

Crash Type: Heap-use-after-free READ 8
Crash Address: 0x612000008aa8
Crash State:
  layer
  shouldPaintForCompositedLayoutPart
  FloatingObject
  
Sanitizer: address (ASAN)

Recommended Security Severity: High

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_lsan_chrome_mp&range=444724:444799
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_lsan_chrome_mp&range=446318:446618

Minimized Testcase (1.11 Kb): https://cluster-fuzz.appspot.com/download/AMIfv94VD-qix8xJdUYhRePygJWWjaoV4WtYhf_xkoSOGHscoLmT5j9ENc24plTmGwYdpQ1l7ym6vzKF3oHqhEE9BWpBaS-SsrFrR7NbCImOEytQgj2otU3X7OlTIWs_x-CArjle683Z_qopZl0b55cKLMMGUzm41XCQMQSajHgLLm5liHbeRzcOLYrWJx6zYsQ8ogkOea3g0kMYujVLf32d61Pd3HosFf2Q6IUSjRKaMGno5LEJjHxSvHZpuWW8-Trk_IshFiyUivmkOS9t4mRv3DNQzvfwRLGMbR3znaUEnr_tOzyvl3oYVyyisHktVptrgNGzjBewW1-U6V-ex7x5yavF33V6wP_hUx61UqwheaPIalycH8M?testcase_id=5320575225692160

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 18 by ClusterFuzz, Jan 28 2017

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

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

Comment 19 by sheriffbot@chromium.org, Jan 28 2017

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

Comment 20 by sheriffbot@chromium.org, Feb 3 2017

Labels: Merge-Request-57
Project Member

Comment 21 by sheriffbot@chromium.org, Feb 4 2017

Labels: -Merge-Request-57 Hotlist-Merge-Approved Merge-Approved-57
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Please merge your change to M57 branch 2987 before 5:00 PM PT, Monday (02/06/) so we can pick it up for next Beta release. Thank you.
Project Member

Comment 23 by sheriffbot@chromium.org, Feb 7 2017

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
If possible, please merge your change to M57 branch 2987 before 5:00 PM PT today, Tuesday (02/07/17) so we can pick it up for tomorrow's Beta release. Thank you.
Please merge your change to M57 branch 2987 before 5:00 PM PT, Friday 02/10 (sooner the better please) so we can take it in for next week beta release. Thank you.
Cc: awhalley@chromium.org
I don't see any change landed here, is there anything ready to merge to M57?

Comment 27 by e...@chromium.org, Feb 9 2017

Unless this is being exploited or about to be un-embargoed I don't think the risk of down integrating the fix is worth it.

Comment 28 by e...@chromium.org, Feb 9 2017

Labels: -Merge-Approved-57
Labels: -ReleaseBlock-Stable
eae@ - btw, do we know what change actually fixed it?
Project Member

Comment 31 by sheriffbot@chromium.org, May 6 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