CVE-2018-0934: ChakraCore RCE Vulnerability
7.5
CVSS Score
3.0
Basic Information
CVE ID
GHSA ID
EPSS Score
0.99319%
CWE
Published
5/13/2022
Updated
10/5/2023
KEV Status
No
Technology
C#
Technical Details
CVSS Vector
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
Microsoft.ChakraCore | nuget | < 1.8.2 | 1.8.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper handling of stack-to-heap transitions during JIT bailout. Key issues were:
- RestoreFrames/Restore functions passed 'deepCopy=false' during bailout, allowing stack-based arrays to be cached.
- BoxStackInstance's caching logic didn't differentiate between shallow/deep copies, enabling reuse of invalidated deep copies. The commit fixes these by:
- Replacing 'deepCopy' with 'boxValues' in frame restoration
- Avoiding caching when doing deep copies
- Ensuring proper boxing during bailout paths These changes directly correlate to the CWE-787 (out-of-bounds write) described in the vulnerability.