A flaw in Chrome's V8 JavaScript engine, tracked as CVE-2021-38003, exposed the internal TheHole value to attacker-controlled script code in Chromium-based browsers before 95.0.4638.69. The bug stemmed from exception handling in JSON.stringify(), where an overflow path in JsonStringifier::SerializeArrayLikeSlow() could return an exception state without setting pending_exception, allowing later exception handling to retrieve an uninitialized value and leak TheHole into JavaScript.
Researchers showed the leak could be turned into a full renderer compromise by abusing TheHole to corrupt a JavaScript Map's state, gain out-of-bounds access, and build addrof, heap read/write, and arbitrary write primitives. The exploit chain then disabled Chromium's wasm-memory-protection-keys mitigation, wrote shellcode into a WebAssembly RWX page, and executed it to achieve renderer remote code execution. Google patched the issue by preventing fetches of an empty pending_exception and later added hardening to block TheHole-based Map deletion abuse; the vulnerability had also been reported as exploited in the wild.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
5 events from the most recent confirmed update back to the earliest known activity.
STAR Labs published a detailed write-up showing how the JSON.stringify() exception-handling flaw could leak TheHole, corrupt JSMap state, achieve out-of-bounds access, and ultimately gain arbitrary write and renderer RCE in Chromium-based browsers. The post also described bypassing the wasm-memory-protection-keys mitigation and executing shellcode from a WASM RWX page.
After the initial fix, Google introduced an additional safeguard to prevent TheHole from being used as a key in Map deletion abuse, blocking a technique described in exploitation of the bug. This was a defense-in-depth hardening change beyond the original patch.
The bug report associated with CVE-2021-38003 was made public in February 2022, exposing additional technical details about the flaw. This followed the earlier disclosure and patching of the issue.
The vulnerability was reported as having been used in real-world attacks at the time of disclosure. This established the bug as more than a theoretical issue and raised its severity.
CVE-2021-38003, a V8 vulnerability that could leak the internal TheHole value and enable renderer remote code execution, was disclosed in October 2021. Google fixed affected Chrome versions before 95.0.4638.69 by preventing V8 from fetching an unset pending exception.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
2 references tracked. Mallory keeps watching after this page renders.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.