New issue
Advanced search Search tips

Issue 806200 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

DCHECK failure in !spread_pos.IsValid() in parser-base.h

Project Member Reported by ClusterFuzz, Jan 26 2018

Issue description

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

Fuzzer: libFuzzer_v8_regexp_builtins_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: DCHECK failure
Crash Address: 
Crash State:
  !spread_pos.IsValid() in parser-base.h
  v8::internal::ParserBase<v8::internal::Parser>::ParseV8Intrinsic
  v8::internal::ParserBase<v8::internal::Parser>::ParsePrimaryExpression
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=531461:531791

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

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jan 26 2018

Components: Blink>JavaScript>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 2 by ClusterFuzz, Jan 26 2018

Labels: Test-Predator-Auto-Owner
Owner: leszeks@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/v8/v8/+/d7fda25256fd3e1e37191eaf17080b447e708993 ([ignition] Move suspend_id assignment to bytecode generation).

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.
Note: I can repro with

    out/x64.debug/v8_simple_regexp_builtins_fuzzer clusterfuzz-testcase-minimized-4803721473818624
Project Member

Comment 4 by sheriffbot@chromium.org, Jan 26 2018

Labels: M-65
Project Member

Comment 5 by sheriffbot@chromium.org, Jan 26 2018

Labels: ReleaseBlock-Stable
This is a serious security regression. If you are not able to fix this quickly, please revert the change that introduced it.

If this doesn't affect a release branch, or has not been properly classified for severity, please update the Security_Impact or Security_Severity labels, and remove the ReleaseBlock label. To disable this altogether, apply ReleaseBlock-NA.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 6 by sheriffbot@chromium.org, Jan 26 2018

Labels: Pri-1
Labels: -Type-Bug-Security -Restrict-View-SecurityTeam -Security_Impact-Head -Security_Severity-High -ReleaseBlock-Stable Type-Bug
Even easier repro:

$ cat test.js
%Foo(...spread);

$ d8 --allow-natives-syntax test.js

Unmarking security since it's an allow-natives-syntax problem.
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/3249b162bd8fea5da0008753fd2f35a7f4376949

commit 3249b162bd8fea5da0008753fd2f35a7f4376949
Author: Leszek Swirski <leszeks@chromium.org>
Date: Mon Jan 29 09:57:39 2018

[parser] Throw syntax error for %Foo(...spread)

Bug:  chromium:806200 
Change-Id: If76a8cb5b988321d38d170dfba7c1fc5354e2667
Reviewed-on: https://chromium-review.googlesource.com/888922
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50922}
[modify] https://crrev.com/3249b162bd8fea5da0008753fd2f35a7f4376949/src/messages.h
[modify] https://crrev.com/3249b162bd8fea5da0008753fd2f35a7f4376949/src/parsing/parser-base.h
[add] https://crrev.com/3249b162bd8fea5da0008753fd2f35a7f4376949/test/mjsunit/regress/regress-crbug-806200.js

Project Member

Comment 9 by ClusterFuzz, Jan 30 2018

ClusterFuzz has detected this issue as fixed in range 532428:532438.

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

Fuzzer: libFuzzer_v8_regexp_builtins_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: DCHECK failure
Crash Address: 
Crash State:
  !spread_pos.IsValid() in parser-base.h
  v8::internal::ParserBase<v8::internal::Parser>::ParseV8Intrinsic
  v8::internal::ParserBase<v8::internal::Parser>::ParsePrimaryExpression
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=531461:531791
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=532428:532438

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

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md 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 10 by ClusterFuzz, Jan 30 2018

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

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
 Issue 807223  has been merged into this issue.

Sign in to add a comment