Miggo Logo

CVE-2018-0835:
ChakraCore RCE Vulnerability

7.5

CVSS Score

Basic Information

EPSS Score
-
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.11.8.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the handling of native arrays during sorting operations in JavascriptArray::EntrySort. The original code conditionally converted native arrays to Var arrays and back, creating a window for type confusion if the array's prototype was manipulated (as demonstrated in the PoC). The patch removed this logic entirely, replacing it with a direct call to EnsureNonNativeArray, which mitigates the risk by ensuring the array is non-native before sorting. The removal of the conversion code in EntrySort directly addresses the memory corruption vector, confirming its role in the vulnerability.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

Mi*roso*t **** *n* ***kr**or* in Mi*roso*t Win*ows ** *ol*, ****, ****, ****, ****, *n* Win*ows S*rv*r **** *llows r*mot* *o** *x**ution, *u* to *ow t** s*riptin* *n*in* **n*l*s o*j**ts in m*mory, *k* "S*riptin* *n*in* M*mory *orruption Vuln*r**ility

Reasoning

T** vuln*r**ility st*ms *rom t** **n*lin* o* n*tiv* *rr*ys *urin* sortin* op*r*tions in J*v*s*ript*rr*y::*ntrySort. T** ori*in*l *o** *on*ition*lly *onv*rt** n*tiv* *rr*ys to V*r *rr*ys *n* ***k, *r**tin* * win*ow *or typ* *on*usion i* t** *rr*y's pr