看啥推荐读物
专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

CVE-2020-9802:Incorrect CSE for ArithNegate 导致的越界访问

看雪学苑  · 公众号  · 互联网安全  · 2024-05-08 18:00
一前言最近尝试阅读DFG jit相关源码,但是无从下手,网上资料甚少并且代码量巨大,所以笔者对应JSC的学习路线还是从相关CVE中去学习一些有关JSC的基础知识,这里逐渐积累,等到合适的时候,再去尝试阅读源码,该漏洞比较老了,但是复现漏洞不是目的,重要的是学习一些知识。复现这个漏洞主要是学习下CSE优化这个知识点,其实挺简单的。CSE即公共子表达式消除,其主要的操作就是将多个相同的表达式替换成一个变量,这个变量存储着计算该表达式后所得到的值,考虑如下代码:let a = b * c + g;let d = b * c + e;上述代码可能会被优化成如下代码:let temp = b * c;let a = temp + g;let d = temp + e;这样就避免了b * c表达式的重复运算,但是并非所有情况下都可以进行CSE优化,考虑如下代码:let a = obj.xf(); // let b = obj.x这里我们就不可以将其优化为如下代码:let t ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照