New issue
Advanced search Search tips

Issue 837693 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

Null-dereference READ in blink::HTMLDocumentParser::EnqueueTokenizedChunk

Project Member Reported by ClusterFuzz, Apr 27 2018

Issue description

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

Fuzzer: ochang_domfuzzer
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000008
Crash State:
  blink::HTMLDocumentParser::EnqueueTokenizedChunk
  blink::BackgroundHTMLParser::EnqueueTokenizedChunk
  blink::BackgroundHTMLParser::PumpTokenizer
  
Sanitizer: thread (TSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=554313:554319

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Apr 27 2018

Labels: OS-Chrome OS-Windows OS-Mac
Project Member

Comment 2 by ClusterFuzz, Apr 27 2018

Components: Blink>HTML>Parser
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 3 by ClusterFuzz, Apr 27 2018

Labels: Test-Predator-Auto-Owner
Owner: kouhei@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/91155378db70515df1dda8c650237a38549b93fa (HTMLDocumentParser: Remove TokenizedChunkQueue).

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.
kouhei: Looks like we need to nullcheck |parser_|, which was being handled gracefully due to Bind() in the old code-path due to it being a weak ptr.
c#4 Yes. That seems to be it. I'll upload another CL
Cc: kouhei@chromium.org
 Issue 837893  has been merged into this issue.
Project Member

Comment 7 by bugdroid1@chromium.org, May 1 2018

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

commit 9f63db45c1a5bf808e12b2c5a4228b57b9f9f434
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Tue May 01 06:58:48 2018

Re-introduce nullchk before calling EnqueueTokenizedChunk

This CL reintroduces null check of WeakPtr parser_ which was
accidentally removed in 91155378db70515df1dda8c650237a38549b93fa

I have manually tested that this fixes the clusterfuzz test cases.
To be confirmed via clusterfuzz bots.

Bug: 837948,  837893 ,  837693 , 689702
Change-Id: I8f149803e24fb949a36fbeee96f17f80a62f6ea0
Reviewed-on: https://chromium-review.googlesource.com/1036885
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555012}
[modify] https://crrev.com/9f63db45c1a5bf808e12b2c5a4228b57b9f9f434/third_party/blink/renderer/core/html/parser/background_html_parser.cc

Project Member

Comment 8 by ClusterFuzz, May 1 2018

ClusterFuzz has detected this issue as fixed in range 555009:555013.

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

Fuzzer: ochang_domfuzzer
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000008
Crash State:
  blink::HTMLDocumentParser::EnqueueTokenizedChunk
  blink::BackgroundHTMLParser::EnqueueTokenizedChunk
  blink::BackgroundHTMLParser::PumpTokenizer
  
Sanitizer: thread (TSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=554313:554319
Fixed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=555009:555013

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

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 9 by ClusterFuzz, May 1 2018

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 4990813831168000 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