Webkit jit bytecodeparser::handleintrinsiccall type confusion Vulnerability / Exploit
/
/
/
Exploits / Vulnerability Discovered : 2018-11-29 |
Type : dos |
Platform : multiple
This exploit / vulnerability Webkit jit bytecodeparser::handleintrinsiccall type confusion is for educational purposes only and if it is used you will do on your own risk!
[+] Code ...
/*
case ArrayPushIntrinsic: {
...
if (static_cast<unsigned>(argumentCountIncludingThis) >= MIN_SPARSE_ARRAY_INDEX)
return false;
This code always assumes that the current instruction is an op_call instruction. But that code can be reached from op_get_by_id or op_get_by_val instructions using getters. As an op_get_by_val instruction is smaller than an op_call instruction in size, this also can lead to an OOB read.
Note that the handlers for ArraySliceIntrinsic, ArrayIndexOfIntrinsic and ArrayPopIntrinsic have the same pattern.