vendor:
JavaScriptCore
by:
Anonymous
7.8
CVSS
HIGH
Use-After-Free
416
CWE
Product Name: JavaScriptCore
Affected Version From: JavaScriptCore prior to version 13.0.4
Affected Version To: JavaScriptCore version 13.0.4
Patch Exists: YES
Related CWE: CVE-2020-9900
CPE: a:webkit:javascriptcore
Other Scripts:
N/A
Platforms Tested: All
2020
AbstractValue::set() Method in JavaScriptCore Allows UaF
The AbstractValue::set() method in JavaScriptCore allows a Use-After-Free vulnerability due to the fact that it works out m_arrayModes using structure->indexingType() instead of structure->indexingMode(). As structure->indexingType() masks out the CopyOnWrite flag, which indicates that the butterfly of the array is immutable, needing copy-on-write, the wrong information about the array can be propagated. As a result, it's able to write into the immutable butterfly (JSImmutableButterfly) of a CoW array. And this can lead to UaF as writing into an immutable butterfly can be used to bypass write barriers.
Mitigation:
Upgrade to the latest version of JavaScriptCore