2026-09-10 · view entry permalink →
BlueMoon: five separate state-nexus actor clusters independently weaponize a shared Chrome V8 + Windows kernel zero-day chain within one week
Proofpoint documents BlueMoon, a newly named exploit kit chaining a Chrome V8 JIT type-confusion bug (CVE-2026-85046) with an uncredentialed V8 sandbox escape and a Windows kernel ALPC/WNF heap-overflow local-privilege-escalation flaw (CVE-2026-85880) into a single click-to-SYSTEM chain (Proofpoint, 2026-09-08). The V8 bugs were a patch-gap zero-day: "the change containing the fix for CVE-2026-85046 was committed on 7 August 2026 but was not rolled into the general stable Chromium build until 3 September 2026" (Proofpoint, 2026-09-08), a nearly four-week window during which the public upstream diff let an exploit developer reverse-engineer and weaponize the bug before Chrome's stable channel shipped it; CVE-2026-85880 was separately patched by Microsoft as part of its September 2026 Patch Tuesday updates (The Hacker News, 2026-09-09); the referenced 2026-09-09 Windows entry covers Microsoft's own MSRC confirmation that it was exploited in the wild. After the browser-side chain achieves code execution and escapes the renderer sandbox, a reflectively loaded DLL fingerprints the host to decide whether to run the kernel LPE against a specific list of Windows builds, Proofpoint's own table names Windows 10 1809/2004/20H2/21H1/21H2/22H2, Windows 11 21H2's initial release build, and Server 2019/2022, a wider list than Microsoft's own advisory for this CVE, which describes the legacy line only and states it does not affect Windows 11 (Contradiction, unresolved here), then a process-injection stub runs an operator-supplied command inside the Chrome broker process, by default a plain curl download-and-execute, a deliberately crude step Proofpoint reads as evidence the developer traded stealth for speed. Four distinct espionage clusters adopted the identical kit within days of each other by Proofpoint's original count (a fifth, documented below, started 2026-09-01, within that same one-week span), each with its own delivery and payload: TA412/APT31 (from 2026-08-28) used student-internship and academic-conference spearphishing against US NGOs, mining and commodity-trading firms to install a malicious Chromium extension disguised as "Google Gemini" (GemStone), using an HMAC-forgery technique, named GhostChrome-X by outside researchers (The Hacker News, 2026-09-09), against Chrome's Secure Preferences integrity check so the extension survives the browser's own unauthorized-extension protection; GemStone keylogs, steals cookies/session storage, screenshots on keyword match and polls its C2 every 30 seconds to 60 minutes. UNK_LateNight (from 2026-09-02) targeted US aerospace/defense firms with B2B/RFQ lures to sideload the ShadowPad backdoor via a scheduled task. UNK_DoubleCheck (from 2026-09-02) phished a Vietnamese manufacturer from a compromised Southeast Asian government mailbox, obfuscating its loader and staging a second DLL from a Cloudflare R2 bucket. UNK_QuietRacket (from 2026-09-03) targeted government, consulting and financial-sector organizations in Indonesia and Singapore with conference-themed lures, resolving C2 entirely through DNS-over-HTTPS TXT-record lookups to a Cloudflare Worker. A Proofpoint researcher assessed the near-identical, simultaneous adoption as deliberate distribution rather than independent discovery: "there's no way that this is parallel development. The code is practically identical, even the variable naming, the commentary. It's the same kit. One hundred percent" (Mark Kelly, Proofpoint, via The Record, 2026-09-09). Patching Chrome and Windows closes the entry vector but removes nothing already installed, the GemStone extension, ShadowPad's DLL-sideload persistence, and the other clusters' scheduled tasks all survive a patch untouched.
Triage: a process tree rooted at the browser (browser → command shell → curl or a download utility → a newly dropped executable) is the chain's own crude final stage and a strong discriminator on its own; a scheduled task created immediately following a browser-initiated download narrows it further, since legitimate browser activity does not normally create scheduled tasks.
The change containing the fix for CVE-2026-85046 was committed on 7 August 2026 but was not rolled into the general stable Chromium build until 3 September 2026.
While CVE-2026-85046 was patched by Google last week, CVE-2026-85880 was addressed by Microsoft as part of its September 2026 Patch Tuesday updates.
There’s no way that this is parallel development. The code is practically identical, even the variable naming, the commentary. It’s the same kit. One hundred percent.
Targets so far: NGO, Government, Consulting, Finance, Mining, Commodity Trading
The exploit first gains arbitrary read/write within the V8 sandbox through the Type confusion vulnerability (CVE-2026-85046), then combines a separate WebAssembly defect to escape the V8 sandbox (CVE-2026-87491). It then exploits a third vulnerability in the Windows kernel (CVE-2026-85880)
Volexity tracks this malware as GRIMWEDGE.
constructing a victim-specific URL using the victim device’s hostname
with a tab-delimited body containing the victim’s domain, username, and any command output from the loop’s previous run. HTTP responses to POST requests are evaluated as JScript code.
NCSC Switzerland's own Cyber Security Hub advisory lists this chain's targets so far as "NGO, Government, Consulting, Finance, Mining, Commodity Trading" while stating no case has yet been reported in Switzerland (NCSC Switzerland, 2026-09-12). Volexity's own technical write-up, cited in that advisory, supplies the exploit chain's previously missing middle link: "the exploit first gains arbitrary read/write within the V8 sandbox through the Type confusion vulnerability (CVE-2026-85046), then combines a separate WebAssembly defect to escape the V8 sandbox (CVE-2026-87491)," before the Windows kernel flaw completes the escape to full code execution in the browser process (Volexity, 2026-09-09). Volexity names a fifth operator, UTA0560, which reached the chain through a reflected cross-site-scripting flaw on a legitimate US university website, unlike JungleBamboo's own delivery via attacker-registered domains fronted by Cloudflare Tunnels, and deployed GRIMWEDGE, an in-memory JScript backdoor under 250 lines that runs as an evaluated string inside msiexec.exe. Delivery chains through a dropper (msgbox.exe) that sideloads wsc.dll; wsc.dll beacons to a per-victim URL keyed on hostname to fetch and launch the next-stage MSI payload via msiexec.exe, and GRIMWEDGE itself, once running, instead sends HTTP POST requests carrying the victim's domain, username and prior command output to a single fixed command-and-control URL, with server responses evaluated as script; GRIMWEDGE supports ten commands including file read/upload, process control and command execution. Volexity separately documents JungleBamboo's (APT31/TA412) own payload chain: a loader it names SUPERSTOMP tampers with Chrome's Secure Preferences file, stripping and forging the per-preference integrity values to smuggle in a malicious extension impersonating "Google Gemini" past Chrome's own tamper checks; the resulting extension, LONGTALE, keylogs every keystroke and form or clipboard value across all open tabs, steals cookies and web-storage tokens, and takes keyword-triggered screenshots, exfiltrating collected data roughly every 30 seconds. This mechanism and disguise match Proofpoint's own GemStone/GhostChrome-X description of the same actor's tooling closely enough that the two vendor names may describe the same artifact rather than two distinct ones; neither vendor's own report confirms this directly, so both names are carried here without merging them.
An unexpected process loading wsc.dll and beaconing outbound over HTTPS to a per-hostname URL path, followed shortly by an msiexec.exe process installing whatever that beacon returned, is UTA0560's dropper-stage signature; a msiexec.exe process making repeated outbound HTTP POST requests to the same fixed destination with no corresponding user-initiated software installation is the discriminator for the GRIMWEDGE backdoor stage that follows it. A Chrome extension whose Secure Preferences integrity hash was set by a process other than Chrome itself, or that requests clipboard and all-tab permissions while impersonating a well-known AI-assistant name, is JungleBamboo's LONGTALE signature. Both persistence mechanisms, like the original entry's, survive the underlying browser and OS patches untouched.
Builds on: 2026-09-04/cve-2026-85046-chrome-v8-type-confusion-exploited · 2026-09-09/windows-september-2026-two-exploited-lpe-zero-days-kev · 2026-09-10/cve-2026-87491-chrome-v8-oob-write-seventh-2026-zero-day