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

Issue 642036 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Security



Sign in to add a comment

Crash in v8::internal::HeapObject::SizeFromMap

Project Member Reported by ClusterFuzz, Aug 29 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=4974666232102912

Fuzzer: mbarbella_js_mutation
Job Type: windows_asan_d8
Platform Id: windows

Crash Type: UNKNOWN READ
Crash Address: 0x60d0ed03
Crash State:
  v8::internal::HeapObject::SizeFromMap
  v8::internal::MarkCompactCollector::EmptyMarkingDeque
  v8::internal::MarkCompactCollector::PrepareForCodeFlushing
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=windows_asan_d8&range=414808:414882

Minimized Testcase (0.75 Kb): https://cluster-fuzz.appspot.com/download/AMIfv94YQ7Lja8aMjVdejPSG0XyMkAl471IyQd9PXQW5BX9fUZNX6ZeIQsEHxoBjl4G2vW1rTamV8VWItZ28j_maOj-tOrLFgU8ECQAgxz8zjr0Jaov58397PTBIM1eU2tFi56QKWx_KHdtR_brhvnmlTaHfD7N9zg?testcase_id=4974666232102912

Issue filed automatically.

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: ishell@chromium.org mstarzinger@chromium.org
Owner: jarin@chromium.org
Status: Assigned (was: Untriaged)

Comment 2 by jarin@chromium.org, Aug 30 2016

Cc: titzer@chromium.org jarin@chromium.org rossberg@chromium.org
Owner: bradnelson@chromium.org
Small repro:

// run with d8 --validate-asm

function m() {
  "use asm";
  function f() {  }
  return { f : f };
}
var f = m().f;
f.__defineGetter__("name", function() { });
dummy = class extends Int32Array { }

Bisects to:

commit e5f5ac7d2bbab16d0f83edb6d030dfcd1a28e71f
Author: bradnelson <bradnelson@chromium.org>
Date:   Mon Aug 22 21:06:52 2016 -0700

    [wasm] asm.js - Remove Wasm.instantiateModuleFromAsm, use asm.js directly.
    
    Make use of %IsAsmWasmCode in place of Wasm.instantiateModuleFromAsm,
    in order to reduce the surface area of the Wasm object,
    and to focus on testing asm.js coming in via the parser.
    
    Ignore extra CONST_LEGACY assignment introduced by the parser
    when modules have the form:
    (function Foo(a, b, c) {..});
    This requires both a validator and AsmWasmBuilder change.
    
    Move stdlib use collection to import time,
    to reject modules that import a function, even if not used.
    
    BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
    LOG=N
    R=jpp@chromium.org,titzer@chromium.org
    
    Review-Url: https://codereview.chromium.org/2264913002
    Cr-Commit-Position: refs/heads/master@{#38806}

Project Member

Comment 3 by sheriffbot@chromium.org, Aug 30 2016

Labels: M-54
Project Member

Comment 4 by sheriffbot@chromium.org, Aug 30 2016

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

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

Comment 5 by sheriffbot@chromium.org, Aug 30 2016

Labels: Pri-1
Project Member

Comment 6 by sheriffbot@chromium.org, Sep 1 2016

Labels: -Security_Impact-Head Security_Impact-Beta
Labels: -ReleaseBlock-Beta ReleaseBlock-Stable
Per discussion moving this to ReleaseBlock-Stable since the relevant code isn't enabled by default for users.
Project Member

Comment 8 by sheriffbot@chromium.org, Sep 13 2016

bradnelson: 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
Project Member

Comment 9 by sheriffbot@chromium.org, Sep 27 2016

bradnelson: Uh oh! This issue still open and hasn't been updated in the last 28 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
Friendly ping, this a stable blocker for M54, please try to have a fix in by the first week of October so it can be fixed in time for the release.
Labels: -Pri-1 -M-54 -Security_Impact-Beta -ReleaseBlock-Stable Pri-3
I've repro-ed this.
It currently affects a feature behind a flag in M54, so it certainly doesn't need to block M54 going to stable.

I'm at a loss why it's happening, probably need to grab some time from munich folk to debug.

It doesn't seem to be related to Int32Array, as this fails the same way:

function m() {
  "use asm";
  function f() {  }
  return { f : f };
}
m().f.__defineGetter__("name", function() { });
dummy = class extends Error { }

Cc: mvstan...@chromium.org
Labels: -Pri-3 Pri-2
Bumping priority back up.

Labels: M-55 Security_Impact-None
Impact none if still behind a flag.
Project Member

Comment 15 by ClusterFuzz, Dec 15 2016

Status: WontFix (was: Assigned)
ClusterFuzz testcase 4974666232102912 is flaky and no longer reproduces, so closing issue.

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

Comment 16 by sheriffbot@chromium.org, Mar 23 2017

Labels: -Restrict-View-SecurityTeam 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

Sign in to add a comment