Security1 publisher2 min readPublished
Volexity caught two Chinese groups running byte-identical Chrome exploit code against NGOs
CVE-2026-85046 was reported to Chromium on August 4 and fixed in the open-source tree, but no shipped Chrome build carried that fix when UTA0560 and JungleBamboo began using it against NGOs on September 1.
The Watch · Security desk
What happened
- Volexity's network monitoring caught UTA0560 spear-phishing customers at multiple non-governmental organizations on September 1, 2026.
- The mail linked to a US university website, where a reflected XSS flaw bounced recipients to attacker infrastructure hosting a multi-stage chain built around Chrome zero-day CVE-2026-85046.
- A second Chinese actor, JungleBamboo (APT31, Violet Typhon, TA412), ran the same chain against a different target set from its own infrastructure and finished with different post-exploitation malware.
- The chain takes read/write inside the V8 sandbox via CVE-2026-85046, escapes it with WebAssembly bug CVE-2026-87491, then uses Windows kernel flaw CVE-2026-85880 to inject into the browser process.
- The shellcode was byte-for-byte identical across both actors, with JungleBamboo serving the same exploit components from proof.gitprogram[.]com and photos.msbenefit[.]com.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- exposure The NGOs in scope had nothing to install for the entry-point bug while the campaign ran, which moves the entire defense onto mail filtering and network detection for whoever operates those endpoints.
- capability A Chrome release closes the V8 door and leaves the sandbox escape and the kernel escape intact, so the operators need only a new browser primitive to reconstitute the same access.
- constraint A team that watches Chrome stable release notes cannot see a gap of this shape, and with no commit date published it cannot bound how long one lasted either.
- decision Anyone managing a Chromium-based fleet now has to decide whether upstream fix landings count as exploitation-relevant intelligence rather than release housekeeping.
After the click, the only thing the user sees is an image of a donation form built for their own organization, a lure theme UTA0560 has used before [12]. Exploitation runs behind the picture and ends with code injected into the Chrome browser process and a payload of the operator's choosing on disk [9]. Link reputation does not help, because the address in the mail belongs to the university, not the attacker [2]. The first attacker-controlled host in the UTA0560 cluster is cloud.shinewrist[.]net [13].
Chrome and the other Chromium-based browsers are built from the Chromium tree [14], so a fix can exist in source while every installed browser stays vulnerable. Volexity's framing is exact: an N-day at the source level, a zero-day for Chrome users [6]. On a managed fleet the distinction collapses into one fact, which is that there was no build to deploy.
Twenty-eight days separate the August 4 report to Chromium from the September 1 detection [15]. That is an outer bound on the exposure window: Volexity gives no date for the fix commit and does not claim either actor derived the exploit from reading it [17]. The published evidence establishes the gap and its effect on victim machines, without establishing a route from the public commit to these two campaigns.
Two clusters with separate infrastructure and separate final payloads carrying identical shellcode [10] points to a chain built once and handed to both operators. Volexity does not name a builder or a supplier [17]. The durable half of that chain is the tail. A Chrome release retires the V8 entry point [7]. The WebAssembly sandbox escape [8] and the Windows kernel bug that lifts code out of the renderer [9] keep working with whatever read/write primitive someone finds next, and Volexity's account does not state the release status of fixes for either [18].
UTA0560's September mail matched lures that Volexity watched fail against its own customers in March [11]. Same customer set, same donation theme, five months later with a browser chain attached; the source does not say what the March attempts carried. That pattern is worth logging: an actor with a fixed target list, retrying a working lure until the delivery mechanism caught up.
While a gap like this is open, the indicators are hosts and downloads. Volexity named three: cloud.shinewrist[.]net [13], plus proof.gitprogram[.]com and photos.msbenefit[.]com on the JungleBamboo side [10].
What to watch
- A Chrome stable release naming CVE-2026-85046, and any commit date that would bound how long the fix sat in the Chromium tree before it shipped.
- Patch status for CVE-2026-85880, the Windows kernel bug, which outlives any V8 fix and works with the next browser primitive.
- A third cluster surfacing with the same byte-identical shellcode, which would point to a shared exploit supplier rather than two independent builds.