!contentFrame() in HTMLFrameElementBase.cpp |
|||||||||||||||
Issue descriptionDetailed report: https://cluster-fuzz.appspot.com/testcase?key=5179748171120640 Fuzzer: inferno_layout_test_unmodified Job Type: linux_ubsan_vptr_chrome Platform Id: linux Crash Type: CHECK failure Crash Address: Crash State: !contentFrame() in HTMLFrameElementBase.cpp blink::HTMLFrameElementBase::didNotifySubtreeInsertionsToDocument blink::ContainerNode::notifyNodeInserted Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_vptr_chrome&range=407429:407440 Minimized Testcase (0.82 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97_95eC9l0lq9Lp0ZRBakb5tCOPuY4DyCa6kD8j-JWdwoPWEwbRSGMpot92x31Xtt8fLlt8kjvmavceUHlRvrXCk0n_csHdnuK7U9fbnJwAPGuqddZZ_QYpCxATzLqy0sFTonRIx_35FtwQCDmkbpEI10Lzpw?testcase_id=5179748171120640 Filer: mmohammad See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
,
Jul 26 2016
And this would be an uxss bug I guess
,
Jul 27 2016
ClusterFuzz has detected this issue as fixed in range 407760:407770. Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5179748171120640 Fuzzer: inferno_layout_test_unmodified Job Type: linux_ubsan_vptr_chrome Platform Id: linux Crash Type: CHECK failure Crash Address: Crash State: !contentFrame() in HTMLFrameElementBase.cpp blink::HTMLFrameElementBase::didNotifySubtreeInsertionsToDocument blink::ContainerNode::notifyNodeInserted Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_vptr_chrome&range=407429:407440 Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_ubsan_vptr_chrome&range=407760:407770 Minimized Testcase (0.82 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97_95eC9l0lq9Lp0ZRBakb5tCOPuY4DyCa6kD8j-JWdwoPWEwbRSGMpot92x31Xtt8fLlt8kjvmavceUHlRvrXCk0n_csHdnuK7U9fbnJwAPGuqddZZ_QYpCxATzLqy0sFTonRIx_35FtwQCDmkbpEI10Lzpw?testcase_id=5179748171120640 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.
,
Jul 27 2016
ClusterFuzz testcase is verified as fixed, closing issue. If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
,
Jul 27 2016
,
Jul 27 2016
What happens is that the appendChild in 24 of the minimized repro inserts a frame with a javascript url that javascript url is executed which in turn inserts the frame at a different location of the tree, triggering the security check Dominic, I guess this would also be addressed by your proposal to make javascript url execution asynchronous?
,
Jul 28 2016
Yes, making the load asynchronous would cut off that route.
,
Oct 18 2016
,
Nov 7 2016
This is the CF case I was looking at on Friday; we should try to fix the crash and land jochen's patch, which asserts that we never try to re-insert an already attached frame owner element.
,
Nov 9 2016
Let's reland the SECURITY_CHECK that there's no content frame when we insert a HTMLFrameOwnerElement, since that means we previously forgot to detach something. DOM team should investigate why this assert is failing.
,
Nov 18 2016
,
Nov 22 2016
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Dec 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/baf4f1f0cca9c704ff01de23e9360a1deef00cb4 commit baf4f1f0cca9c704ff01de23e9360a1deef00cb4 Author: jochen <jochen@chromium.org> Date: Mon Dec 05 15:21:05 2016 Assert that we never insert an frame element that already has a frame BUG=628942, 631151 R=dominicc@chromium.org Review-Url: https://codereview.chromium.org/2190523002 Cr-Commit-Position: refs/heads/master@{#436294} [modify] https://crrev.com/baf4f1f0cca9c704ff01de23e9360a1deef00cb4/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
,
Mar 27 2017
Issue 705447 has been merged into this issue.
,
Mar 27 2017
,
Mar 27 2017
,
Apr 12 2017
Issue 710721 has been merged into this issue.
,
Apr 19 2017
,
Apr 19 2017
,
Jun 15 2017
,
Jun 15 2017
tkent has a fix for this in https://chromium-review.googlesource.com/c/536673/.
,
Jun 15 2017
Issue 733416 has been merged into this issue.
,
Jun 15 2017
,
Jun 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/772e2f76cdab92e73a50192f07b2ea7036c06b79 commit 772e2f76cdab92e73a50192f07b2ea7036c06b79 Author: Kent Tamura <tkent@chromium.org> Date: Thu Jun 15 08:14:24 2017 Do not crash if we load an IFRAME twice. This CL moves a SECURITY_CHECK() from HTMLFrameElementBase::DidNotifySubtreeInsertionsToDocument() to InsertedInto(), and allow having ContentFrame() in DidNotifySubtreeInsertionsToDocument(). What happens in the test case: 1. body.appendChild(fragment) 2. DOM tree is updated. 3. InsertedInto() for script 4. InsertedInto() for iframe1 5. DidNotifySubtreeInsertionsToDocument() for script; This executes body.appendChild(iframe1) 6. iframe1 is removed from the tree 7. iframe1 is added to the tree 8. InsertedInto() for iframe1 9. DidNotifySubtreeInsertionsToDocument() for iframe1; ContentFrame() is created synchronously. 10. DidNotifySubtreeInsertionsToDocument() for iframe1 ==> We hit SECURITY_CHECK() without this CL Bug: 631151 Change-Id: I55d8c8b8c0cf496a0022b9d85ba80dcda44099cd Reviewed-on: https://chromium-review.googlesource.com/536673 Commit-Queue: Kent Tamura <tkent@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#479634} [modify] https://crrev.com/772e2f76cdab92e73a50192f07b2ea7036c06b79/third_party/WebKit/LayoutTests/html/README.md [add] https://crrev.com/772e2f76cdab92e73a50192f07b2ea7036c06b79/third_party/WebKit/LayoutTests/html/embedded_content/iframe-load-before-load-crash.html [modify] https://crrev.com/772e2f76cdab92e73a50192f07b2ea7036c06b79/third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp
,
Jun 15 2017
,
Sep 18 2017
We have made a bunch of changes on ClusterFuzz side, so resetting ClusterFuzz-Wrong label. |
|||||||||||||||
►
Sign in to add a comment |
|||||||||||||||
Comment 1 by brajkumar@chromium.org
, Jul 26 2016Components: Tools>Test>FindIt>NoResult
Labels: -Pri-1 -Type-Bug M-54 Te-Logged Pri-2 Type-Bug-Regression
Owner: jochen@chromium.org
Status: Assigned (was: Untriaged)