Miggo Logo

CVE-2018-8133: ChakraCore RCE Vulnerability

7.5

CVSS Score
3.0

Basic Information

EPSS Score
0.98587%
Published
5/13/2022
Updated
10/6/2023
KEV Status
No
Technology
TechnologyC#

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
Microsoft.ChakraCorenuget< 1.8.41.8.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key issues: 1) MarshalDynamicObjectAndPrototype's failure to special-case Proxy objects allowed execution of user-defined getPrototypeOf handlers during marshaling. 2) EntrySimpleObjectSlotGetter's implementation lacked reentrancy guards (JS_REENTRANCY_LOCK) when calling these marshaling functions. The patch adds both Proxy-specific handling and reentrancy protection, confirming these were the vulnerable paths. The PoC demonstrates how manipulating Proxy handlers during marshaling could alter array types, leading to type confusion.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* r*mot* *o** *x**ution vuln*r**ility *xists in t** w*y t**t t** ***kr* s*riptin* *n*in* **n*l*s o*j**ts in m*mory in Mi*roso*t ****, *k* "***kr* S*riptin* *n*in* M*mory *orruption Vuln*r**ility." T*is *****ts Mi*roso*t ****, ***kr**or*. T*is *V* I*

Reasoning

T** vuln*r**ility st*ms *rom two k*y issu*s: *) M*rs**l*yn*mi*O*j**t*n*Prototyp*'s **ilur* to sp**i*l-**s* Proxy o*j**ts *llow** *x**ution o* us*r-***in** **tPrototyp*O* **n*l*rs *urin* m*rs**lin*. *) *ntrySimpl*O*j**tSlot**tt*r's impl*m*nt*tion l**k