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

Issue 660760 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Security



Sign in to add a comment

Use-after-poison in blink::PersistentBase<blink::DummyGCBase,

Project Member Reported by ClusterFuzz, Oct 31 2016

Issue description

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

Fuzzer: therealholden_worker
Job Type: linux_asan_chrome_chromeos
Platform Id: linux

Crash Type: Use-after-poison READ 8
Crash Address: 0x7efa49c61a18
Crash State:
  blink::PersistentBase<blink::DummyGCBase,
  blink::CrossThreadPersistentRegion::shouldTracePersistentNode
  blink::PersistentRegion::tracePersistentNodes
  
Recommended Security Severity: High

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_chrome_chromeos&range=410916:411073

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv96TI39TDX6-nls7ZrArVYXJZgeha43aJwb03xb1Ajbl7DR2Hjs-l4HcCJrYv1dwj0ZtEbOfj7i3KluObMGVDYkxDgprD9xhdLf9gkdH39YGN4A-j3wHQL81n71VIA84L9eU1Cakk_8gH3j8Ba7eP-v9HzQwjw?testcase_id=4756565719777280


Additional requirements: Requires HTTP

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, Oct 31 2016

Labels: M-54
Project Member

Comment 2 by sheriffbot@chromium.org, Oct 31 2016

Labels: Pri-1

Comment 3 by ta...@google.com, Oct 31 2016

Labels: -Pri-1
Owner: keishi@chromium.org
Status: Assigned (was: Untriaged)
Your recent change (f7a7635e3) might cause this. I wonder if you can investigate. Thanks!

Comment 4 by ta...@google.com, Oct 31 2016

Components: Blink
Components: -Blink Blink>MemoryAllocator>GarbageCollection
Labels: Pri-2
Looks like the fix in https://codereview.chromium.org/2415363002/ was insufficient.

Lowering priority because this is an issue with ASAN, not a real security issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 4 2016

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

commit e83436f136fef95c74f113f456327edf33a4339b
Author: keishi <keishi@chromium.org>
Date: Fri Nov 04 09:50:09 2016

Lock CrossThreadPersistentRegion while poisoning HeapPages

When CrossThreadPersistentRegion::prepareForThreadStateTermination or CrossThreadPersistentRegion::tracePersistentNodes is called, we iterate over all CrossThreadPersistents.
While that is happening in one thread, another thread was calling ThreadState::poisonAllHeaps(), causing poisoning to happen simultaneously.

BUG= 660760 

Review-Url: https://codereview.chromium.org/2471023004
Cr-Commit-Position: refs/heads/master@{#429842}

[modify] https://crrev.com/e83436f136fef95c74f113f456327edf33a4339b/third_party/WebKit/Source/platform/heap/ThreadState.cpp

Project Member

Comment 7 by ClusterFuzz, Nov 5 2016

ClusterFuzz has detected this issue as fixed in range 429839:429929.

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

Fuzzer: therealholden_worker
Job Type: linux_asan_chrome_chromeos
Platform Id: linux

Crash Type: Use-after-poison READ 8
Crash Address: 0x7eff10861a18
Crash State:
  blink::PersistentBase<blink::DummyGCBase,
  blink::CrossThreadPersistentRegion::shouldTracePersistentNode
  blink::PersistentRegion::tracePersistentNodes
  
Recommended Security Severity: High

Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_chrome_chromeos&range=410916:411073
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_chrome_chromeos&range=429839:429929

Minimized Testcase (1.79 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96O9kEz1Jgna8og2SKec_3aBjsTff81KIoerkjAkde6-WfgOEeqekhzWP6NlMa3XPcmxzeOFVHz0bLQuxKA5NkzAHH8et9fOrurr4pyDUlCTCJX4rZL-n6zQYZasP-YiWlsclZ5mgWmbsPzRGirtjstjpfrbA?testcase_id=4756565719777280

Additional requirements: Requires HTTP

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, Nov 5 2016

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

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

Comment 9 by sheriffbot@chromium.org, Nov 5 2016

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

Comment 10 by sheriffbot@chromium.org, Nov 7 2016

Labels: Merge-Request-55

Comment 11 by dimu@chromium.org, Nov 7 2016

Labels: -Merge-Request-55 Merge-Approved-55 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M55 (branch: 2883)
This was an issue with ASAN, not an issue on non-ASAN builds.
So I don't think this needs to be merged.
Labels: -Merge-Approved-55
Remvoing "Merge-Approved-55" label based on comment #12.
Labels: -Hotlist-Merge-Approved
Labels: -reward-topanel reward-ineligible
No reward for this once since it was an ASAN issue not a security bug.
Project Member

Comment 16 by sheriffbot@chromium.org, Feb 11 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