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

Issue 765479 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

DCHECK failure in index < length() in builtins-utils.h

Project Member Reported by ClusterFuzz, Sep 14 2017

Issue description

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

Fuzzer: inferno_js_fuzzer
Job Type: linux_asan_d8_dbg
Platform Id: linux

Crash Type: DCHECK failure
Crash Address: 
Crash State:
  index < length() in builtins-utils.h
  v8::internal::Builtin_Impl_NumberFormatPrototypeFormatToParts
  v8::internal::Builtin_NumberFormatPrototypeFormatToParts
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=47976:47977

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

Issue filed automatically.

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

Comment 1 by mea...@chromium.org, Sep 15 2017

Labels: Pri-1
Owner: mstarzinger@chromium.org
Status: Assigned (was: Untriaged)
mstarzinger: Can you please take a look? Thanks.
Cc: adamk@chromium.org mstarzinger@chromium.org
Owner: jwo...@igalia.com
Regression range points to 3ab49f664f6ff3d048f949aacdb178e249cbc3ec. Redruced repro looks as follows ...

var x = new Intl.NumberFormat(); 
x.formatToParts();
Project Member

Comment 3 by sheriffbot@chromium.org, Sep 15 2017

Labels: M-63
Project Member

Comment 4 by sheriffbot@chromium.org, Sep 15 2017

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

Comment 5 by jwo...@igalia.com, Sep 15 2017

I've reproduced the issue locally. Working on a fix now.

Fwiw, this only happens with the recently-staged --harmony-number-format-to-parts.

Comment 6 by jwo...@igalia.com, Sep 15 2017

Submitted a CL with a fix: https://chromium-review.googlesource.com/c/v8/v8/+/668677

This is a test coverage hole. I'll submit a PR to test262 to cover this.

Comment 7 by jwo...@igalia.com, Sep 15 2017

Cc: littledan@chromium.org
Project Member

Comment 9 by ClusterFuzz, Sep 16 2017

ClusterFuzz has detected this issue as fixed in range 48037:48038.

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

Fuzzer: inferno_js_fuzzer
Job Type: linux_asan_d8_dbg
Platform Id: linux

Crash Type: DCHECK failure
Crash Address: 
Crash State:
  index < length() in builtins-utils.h
  v8::internal::Builtin_Impl_NumberFormatPrototypeFormatToParts
  v8::internal::Builtin_NumberFormatPrototypeFormatToParts
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=47976:47977
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=48037:48038

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

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 10 by ClusterFuzz, Sep 16 2017

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

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

Comment 11 by sheriffbot@chromium.org, Sep 16 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify

Comment 12 by jwo...@igalia.com, Sep 16 2017

Labels: ClusterFuzz-Wrong
Status: Assigned (was: Verified)
Cc: jkummerow@chromium.org siggi@chromium.org cbruni@chromium.org
Labels: -ClusterFuzz-Wrong
This was broken by Siggi's https://chromium.googlesource.com/v8/v8/+log/c5295b0d71b2024423dbd5c954acd12eceb8f657..a787c3f9e12d8f392f56d7116dbf1fac09b12123?pretty=fuller&n=10000 and not ClusterFuzz's fault.
Ok i think this is due to Fatal Error stacks changing now, reuploaded testcase in https://clusterfuzz.com/v2/testcase-detail/5927935277268992?noredirect=1.
 Issue 765803  has been merged into this issue.
Project Member

Comment 16 by bugdroid1@chromium.org, Sep 18 2017

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

commit f42f51448b3a8938240be78574c7936cab7ff15f
Author: Josh Wolfe <jwolfe@igalia.com>
Date: Mon Sep 18 20:07:23 2017

[intl] fix off-by-1 in NumberFormat formatToParts parameter parsing

R=adamk@chromium.org, mstarzinger@chromium.org

Bug:  v8:5244 ,  chromium:765479 
Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: I684805acc194a93b96d74e3e64834867dce78dee
Reviewed-on: https://chromium-review.googlesource.com/668677
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Commit-Queue: Josh Wolfe <jwolfe@igalia.com>
Cr-Commit-Position: refs/heads/master@{#48069}
[modify] https://crrev.com/f42f51448b3a8938240be78574c7936cab7ff15f/src/builtins/builtins-intl.cc
[add] https://crrev.com/f42f51448b3a8938240be78574c7936cab7ff15f/test/test262/local-tests/test/intl402/NumberFormat/prototype/formatToParts/default-parameter.js

Project Member

Comment 17 by sheriffbot@chromium.org, Oct 1 2017

jwolfe: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

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

Comment 18 by jwo...@igalia.com, Oct 1 2017

Status: Fixed (was: Assigned)
Labels: -ReleaseBlock-Stable
Project Member

Comment 20 by sheriffbot@chromium.org, Jan 8 2018

Labels: -Restrict-View-SecurityNotify allpublic
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 21 by sheriffbot@chromium.org, Mar 27 2018

Labels: -Security_Impact-Head -M-63 M-65 Security_Impact-Stable

Sign in to add a comment