Miggo Logo

CVE-2018-8355:
ChakraCore RCE Vulnerability

7.5

CVSS Score
3.0

Basic Information

EPSS Score
0.98894%
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.10.21.10.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability arises from JIT inlining of String.prototype.localeCompare, as shown in the exploit PoC and patch analysis. The commit removes handling of JavascriptString_LocaleCompare in critical JIT components (Inline.cpp, InliningDecider.cpp) and disables its registration as an inlineable built-in (JavascriptLibrary.cpp). These changes directly address the type confusion caused by improper ImplicitCallFlags handling when localeCompare's JavaScript implementation (in Intl.js) was invoked during JIT optimization. The removed functions facilitated unsafe inlining, making them root causes.

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** s*riptin* *n*in* **n*l*s o*j**ts in m*mory in Mi*roso*t *rows*rs, *k* "S*riptin* *n*in* M*mory *orruption Vuln*r**ility." T*is *****ts ***kr**or*, Int*rn*t *xplor*r **, Mi*roso*t ****. T*is

Reasoning

T** vuln*r**ility *ris*s *rom JIT inlinin* o* `Strin*.prototyp*.lo**l**omp*r*`, *s s*own in t** *xploit Po* *n* p*t** *n*lysis. T** *ommit r*mov*s **n*lin* o* `J*v*s*riptStrin*_Lo**l**omp*r*` in *riti**l JIT *ompon*nts (`Inlin*.*pp`, `Inlinin****i**r