Microsoft Edge: Chakra: Cross... CVE-2018-0946 CNNVD-201805-305

7.6 AV AC AU C I A
发布: 2018-05-09
修订: 2020-08-24

### Background The CrossSite class is used for passing JavaScript variables across different contexts. Chakra is basically trying to wrap every variable being passed from a context to another context. The way it wraps an object is, first overwrite the virtual function table pointer of the given object, checks and wraps all inputs and outputs in the overridden methods. The reason for doing it is because direct access to a closed context may cause unexpected behaviors such as Use-After-Free. ### Use-After-Free The addresses of some objects such as string constants are directly inlined into JITed code. When closing a context, the context loses the references to those objects. And since the garbage collector doesn't scan those JITed code area for garbage collection, the following code could have caused Use-After-Free. Code: ``` let f = document.body.appendChild(document.createElement('iframe')); let opt = f.contentWindow.eval(` function opt() { return 'xxxx'; } // Optimizing "opt", so...

0%
当前有2条漏洞利用/PoC
当前有2条受影响产品信息