Chrome 152 V8 Sandbox Escape Shows the Risk of Patch Lag
BackBox AI says it built a complete Chrome 152 V8 exploit chain that moved from an address leak to sandbox escape, renderer RCE and file access, highlighting the security risks created by delayed patch deployment.
Xcademia Team
Xcademia Research Team

Chrome 152 V8 Exploit Chain Highlights the Security Cost of Patch Lag
A technical write-up from BackBox describes a complete exploit chain against a Chrome 152 target used in Google's v8CTF challenge. The chain combined three V8 bugs to move from an initial memory disclosure to arbitrary read and write, escape the V8 sandbox and ultimately achieve code execution inside the browser renderer.
The research is notable not simply because an exploit chain was demonstrated, but because the researchers relied heavily on publicly available V8 commits and regression tests. The write-up argues that the interval between a security fix being published and that fix reaching deployed software can create a useful window for attackers.
BackBox says the complete chain was executed in three independent fresh processes against the relevant local challenge build. The demonstration ultimately read the challenge file /flag/flag. Google had already rotated the Chrome 152 challenge target out of service before the researchers could point the same page at Google's instance.
The v8CTF Target
The v8CTF environment provides a controlled target for attacking V8, the JavaScript engine used by Chrome. According to BackBox, the challenge runs a recent Chrome version in headless mode, with the browser process confined by nsjail. Participants provide a URL that the target browser opens, with the challenge requiring code execution inside the relevant browser process to access the flag file.
The deployed target used Chrome for Testing 152.0.7977.64 and V8 15.2.124.18. BackBox compared that build with later commits in the corresponding V8 release branch and tested public regression tests against the deployed binary.
The researchers identified three bugs that could be combined into one chain.
Three V8 Bugs Became One Exploit Chain
Bug | Role in the chain |
|---|---|
CVE-2026-85046 | Address disclosure |
Bug 547936520 | Arbitrary read and write inside the V8 sandbox |
Bug 554034656 | Write and information disclosure outside the sandbox |
CVE-2026-85046 involved optimisation of Array.prototype.sort when feedback about an array's element type was inconsistent. BackBox used the resulting type-confusion behaviour to obtain an object address. The source says the fix prevented compilers from inlining the affected iterating builtins when element kinds disagreed.
The second bug was located in Turboshaft, one of V8's optimisation pipelines. A store-elimination optimisation could incorrectly remove stores that initialised freshly allocated objects inside loops. This left attacker-controlled data from previously occupied memory available through newly allocated objects. BackBox used this behaviour to establish another address disclosure and then construct arbitrary read and write primitives within the V8 sandbox.
The third bug involved V8's handling of wrapped functions. A parameter count represented using a 16-bit field could overflow when a sufficiently large wrapped argument list was supplied. The mismatch between the parser's interpretation and the allocated stack frame allowed writes and reads outside the intended frame, reaching native stack memory beyond the V8 sandbox.

Why the V8 Sandbox Did Not End the Attack
Modern V8 includes a sandbox designed to constrain the consequences of memory corruption. Ordinary JavaScript heap objects reside within a bounded region, and references between sandboxed objects use compressed offsets rather than unrestricted native pointers.
This means obtaining arbitrary read and write inside the sandbox does not automatically provide unrestricted access to the browser process.
BackBox's chain therefore needed a way across that boundary. The parser issue supplied that missing primitive by allowing manipulation of native stack memory outside the sandbox.
The researchers then examined how WebAssembly code generated by V8's Liftoff compiler handled its module instance. They found that a pointer stored on the WebAssembly stack frame was reloaded and used during execution. By placing a crafted object where a trusted instance was expected, the chain could redirect memory operations beyond the sandbox.
This ultimately produced arbitrary read and write over the wider process address space.

From Sandbox Escape to Renderer Code Execution
The final stage used a return-oriented programming, or ROP, chain.
BackBox describes a 27-word ROP chain that used existing instruction sequences in the Chrome binary rather than injecting new executable code. The chain performed open, read and write operations against the challenge file and returned the contents through the renderer's output stream.
The researchers say the full chain worked in three independent fresh processes. The demonstration began with a loaded web page and ended with the contents of /flag/flag being returned.
The demonstration was performed against a local instance of the exact challenge build. The source explicitly notes that the file accessed during the demonstration was therefore the researchers' own challenge file rather than a file obtained from Google's production infrastructure.
The Bigger Security Issue: Patch Lag
The most important defensive lesson in the research is the distinction between a fix existing and the fix being deployed.
BackBox says the vulnerabilities used in the chain already had upstream fixes available, although those fixes did not all exist in the same branch when the challenge build was deployed. The deployed version was behind the relevant release branch.
This creates a problem for organisations that track only major browser versions.
A browser can appear to be running the correct major release while still lacking security fixes that have already entered its development or release branch.
The write-up therefore argues that defenders should monitor the security state of the specific build they actually deploy rather than relying solely on major-version tracking.

Regression Tests Can Provide Valuable Security Intelligence
Another notable observation concerns regression tests.
When a vulnerability is fixed, developers frequently add a test demonstrating that the problematic behaviour no longer occurs. BackBox argues that these tests can provide valuable information about how a vulnerability works.
In the case of the parser bug, the researchers say the regression test provided enough information to understand the behaviour and reproduce it against the older target.
For defenders, this means newly published security fixes and their associated tests deserve attention during patch assessment. They can reveal what changed, what behaviour was considered dangerous and which versions may still require remediation.
What Security Teams Can Take From the Research
The write-up identifies several defensive lessons.
Track fixes at the branch and build level.
Major browser version numbers do not necessarily tell the complete security story. The relevant question is whether the specific deployed build contains the fixes that address the vulnerabilities affecting its code base.
Treat newly published regression tests as security-relevant information.
A regression test can provide valuable technical insight into a vulnerability and therefore increase the importance of timely patch deployment.
Audit security boundaries and adjacent components.
The V8 sandbox constrained the initial arbitrary read and write, but the parser and native stack provided another route across the boundary. BackBox specifically highlights parsers, frame layouts and trusted objects containing raw pointers as areas deserving security attention.
Monitor exploit-like renderer behaviour.
The source notes that repeated optimisation of a small group of JavaScript functions shortly after page loading can represent suspicious engine behaviour. It also identifies sandbox violation messages and related crash signatures as potentially useful detection signals where available.
No Live Vulnerability Is Claimed by the Researchers
BackBox states that all three defects used in the chain had public upstream fixes before publication of the write-up.
The source says CVE-2026-85046 was included in Chrome 152.0.7977.82, while bug 547936520 was fixed on the 15.2 release branch and bug 554034656 was fixed on V8's main branch before moving into later stable lines. It concludes that a build containing all three fixes is not affected by the described chain.
This distinction is important: the article is primarily a technical exploitation case study and a warning about patch deployment rather than a disclosure of an unfixed Chrome vulnerability.
What This Means for Enterprise Security
The announcement highlights a broader industry shift toward treating software update latency as part of the attack surface.
For enterprises, this could mean that vulnerability management needs to look beyond whether a vendor has released a patch. Security teams also need visibility into the versions and builds actually deployed across endpoints and infrastructure.
The Chrome example illustrates why that distinction matters. Public fixes can provide attackers with enough information to reproduce vulnerabilities while organisations are still completing their deployment cycles.
The practical security question is therefore not simply "Has the vendor fixed it?" but also "Has the fixed build reached our environment?"
BackBox's research demonstrates how several individually constrained browser vulnerabilities can be chained together when a vulnerable build remains available.
Source: BackBox - Technical Writeup
About the Author