New issue
Advanced search Search tips

Issue 853551 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Null-dereference READ in chrome

Project Member Reported by ClusterFuzz, Jun 17 2018

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=4516783537782784

Fuzzer: ifratric-browserfuzzer-v3
Job Type: linux_cfi_chrome
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000010
Crash State:
  chrome
  blink::Node::MutableComputedStyle
  blink::StyleResolver::CreatePseudoElementIfNeeded
  
Sanitizer: cfi (CFI)

Regressed: https://clusterfuzz.com/revisions?job=linux_cfi_chrome&range=565645:565674

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4516783537782784

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jun 17 2018

Components: Blink>CSS Blink>DOM
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Jun 17 2018

Labels: Test-Predator-Auto-Owner
Owner: futhark@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/2d21d004fa5157a1c4409b19e2f808001d026304 ([Squad] Make pseudo element creation not rely on layout tree.).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5128d4bb52aecc0601f20148af365f723be045e8

commit 5128d4bb52aecc0601f20148af365f723be045e8
Author: Rune Lillesveen <futhark@chromium.org>
Date: Tue Jun 19 10:35:16 2018

Only create first-letter pseudo elements for rebuild step.

::before, ::after, and ::backdrop should be created during style recalc,
or they will be created from AttachLayoutTree() if parent needs to
create its layout box. ::first-letter is still special because its
creation depends on the layout tree and it needs to be constructed in
RebuildPseudoElementLayoutTree for the case below when #outer has a
::first-letter, #inner is initially display:none and changes to block:

  <div id=outer><div id=inner>Text</div></div>

This fixes crashers after:

https://crrev.com/2d21d004fa5157a1c4409b19e2f808001d026304

Bug:  852396 ,  853551 
Change-Id: Ib58e211defe44a5d2ca04222be5eeb6aecfa59af
Reviewed-on: https://chromium-review.googlesource.com/1105055
Reviewed-by: Anders Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568394}
[add] https://crrev.com/5128d4bb52aecc0601f20148af365f723be045e8/third_party/WebKit/LayoutTests/fast/css/pseudo-element-rebuild-crash.html
[modify] https://crrev.com/5128d4bb52aecc0601f20148af365f723be045e8/third_party/blink/renderer/core/dom/element.cc

Status: Fixed (was: Started)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b04339b7f0a03011ed16bab0b993697c0a36ab99

commit b04339b7f0a03011ed16bab0b993697c0a36ab99
Author: Emilio Cobos Álvarez <emilio@chromium.org>
Date: Tue Jun 19 12:48:43 2018

Remove unneeded pseudo_id check.

It's already in a block with if (pseudo_id == kPseudoIdFirstLetter).

Just a nit I noticed while seeing the patch for  issue 853551 .

Bug:  853551 
Change-Id: Ib4fadc46497c2ed4142f88f9d57938273acf622d
Reviewed-on: https://chromium-review.googlesource.com/1105831
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Commit-Queue: Emilio Cobos Álvarez <emilio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568415}
[modify] https://crrev.com/b04339b7f0a03011ed16bab0b993697c0a36ab99/third_party/blink/renderer/core/dom/element.cc

Project Member

Comment 7 by ClusterFuzz, Jun 20 2018

ClusterFuzz has detected this issue as fixed in range 568378:568401.

Detailed report: https://clusterfuzz.com/testcase?key=4516783537782784

Fuzzer: ifratric-browserfuzzer-v3
Job Type: linux_cfi_chrome
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000010
Crash State:
  chrome
  blink::Node::MutableComputedStyle
  blink::StyleResolver::CreatePseudoElementIfNeeded
  
Sanitizer: cfi (CFI)

Regressed: https://clusterfuzz.com/revisions?job=linux_cfi_chrome&range=565645:565674
Fixed: https://clusterfuzz.com/revisions?job=linux_cfi_chrome&range=568378:568401

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4516783537782784

See https://github.com/google/clusterfuzz-tools for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 8 by ClusterFuzz, Jun 20 2018

Labels: ClusterFuzz-Verified
Status: Verified (was: Fixed)
ClusterFuzz testcase 4516783537782784 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment