Use-after-poison in void blink::FrameView::forAllNonThrottledFrameViews<blink::FrameView::updateLife |
||||||||||||
Issue descriptionDetailed report: https://clusterfuzz.com/testcase?key=4635463068680192 Fuzzer: ochang_domfuzzer Job Type: linux_asan_content_shell_drt Platform Id: linux Crash Type: Use-after-poison READ 8 Crash Address: 0x7ecc229aab10 Crash State: void blink::FrameView::forAllNonThrottledFrameViews<blink::FrameView::updateLife blink::FrameView::updateLifecyclePhasesInternal blink::WebAXObject::updateLayoutAndCheckValidity Sanitizer: address (ASAN) Recommended Security Severity: High Regressed: https://clusterfuzz.com/revisions?job=linux_asan_content_shell_drt&range=434178:434255 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4635463068680192 Issue filed automatically. See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
,
Apr 28 2017
It's called from WebAXObject::UpdateLayoutAndCheckValidity(). dmazzoni@ can you take a look?
,
Apr 28 2017
,
May 8 2017
I think the priority of this might be lower since it relies on a test_runner API: accessibilityController.addNotificationListener.
Here's the smallest repro I could create - make sure the relative path to js-test.js is updated.
<script src="../resources/js-test.js"></script>
<button style="height: 600px;">
<script>
window.jsTestIsAsync = true;
window.scrollTo(0, 223);
shouldBe("window.pageYOffset", "0");
accessibilityController.addNotificationListener(function (target, notification) {
shouldBe("window.pageYOffset", "500");
});
</script>
The crash is happening when AccessibilityController::NotificationReceived calls WebAXObject::UpdateLayoutAndCheckValidity(), which calls FrameView::UpdateLifecycleToCompositingCleanPlusScrolling(), and the crash is happening here:
ForAllNonThrottledFrameViews([](FrameView& frame_view) {
frame_view.PerformScrollAnchoringAdjustments();
});
AccessibilityController::NotificationReceived is happening inside of a timer callback, so it should be a safe place to update layout.
I think someone who understands scroll anchoring should take a look.
,
May 12 2017
ClusterFuzz has detected this issue as fixed in range 471033:471049. Detailed report: https://clusterfuzz.com/testcase?key=4635463068680192 Fuzzer: ochang_domfuzzer Job Type: linux_asan_content_shell_drt Platform Id: linux Crash Type: Use-after-poison READ 8 Crash Address: 0x7ecc229aab10 Crash State: void blink::FrameView::forAllNonThrottledFrameViews<blink::FrameView::updateLife blink::FrameView::updateLifecyclePhasesInternal blink::WebAXObject::updateLayoutAndCheckValidity Sanitizer: address (ASAN) Recommended Security Severity: High Regressed: https://clusterfuzz.com/revisions?job=linux_asan_content_shell_drt&range=434178:434255 Fixed: https://clusterfuzz.com/revisions?job=linux_asan_content_shell_drt&range=471033:471049 Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4635463068680192 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.
,
May 12 2017
ClusterFuzz testcase 4635463068680192 is verified as fixed, so closing issue. If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
,
May 12 2017
,
May 14 2017
,
May 15 2017
Your change meets the bar and is auto-approved for M59. Please go ahead and merge the CL to branch 3071 manually. Please contact milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 15 2017
Please merge your change to M59 branch 3071 before 4:00 PM PT tomorrow, Tuesday (05/16 )so we can pick it for this week beta release. Thank you.
,
May 18 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
,
May 22 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
,
May 23 2017
+awhalley awhalley@, since this is security-related, can you confirm if anything needs to be merged here for M59?
,
May 30 2017
,
Jul 24 2017
,
Aug 18 2017
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 |
||||||||||||
Comment 1 by palmer@chromium.org
, Apr 28 2017Labels: M-58 OS-Android OS-Chrome OS-Mac OS-Windows Pri-1
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)