Een Chinese bedreigingsacteur wordt toegeschreven aan een spearphishing-campagne die misbruik maakt van recentelijk gepatchte beveiligingsfouten in Google Chrome en Microsoft Windows om een kwaadaardige JavaScript-achterdeur te creëren, genaamd GRIMWEDGE.
Volexity, dat het dreigingscluster onder de naam volgt UTA0560zei dat de activiteit op 1 september 2026 gericht was tegen meerdere niet-gouvernementele organisaties (NGO’s).
“De e-mails bevatten een bericht waarin gebruikers werden aangemoedigd op een link te klikken die naar de website van een Amerikaanse universiteit leidde”, aldus onderzoekers Ankur Saini, Conor Quigley, Sean Koessel, Steven Adair en Tom Lancaster. “Deze links maakten misbruik van een gereflecteerde cross-site scripting (XSS) kwetsbaarheid op de website, waardoor ontvangers werden omgeleid naar een door dreigingsactors gecontroleerde infrastructuur die een uit meerdere fasen bestaande exploit-keten host.”
De exploitketen omvat, zoals eerder benadrukt door Proofpoint, drie afzonderlijke fouten: twee in Chrome en één in Windows Advanced Local Procedure Call (ALPC). Het maakt eerst misbruik van CVE-2026-85046 om willekeurig te lezen/schrijven binnen de V8-sandbox, ontsnapt vervolgens uit de browsersandbox via CVE-2026-87491 en gebruikt ten slotte CVE-2026-85880 om code in het Chrome-browserproces te injecteren en willekeurige code-uitvoering te bewerkstelligen.
Er is waargenomen dat UTA0560 op deze aanvalsmethode vertrouwt om GRIMWEDGE in te zetten, wat hostverkenning, bestands- en procesbeheer, opdrachtuitvoering en mogelijkheden voor het leveren van payloads vergemakkelijkt. Het begint allemaal met een spearphishing-e-mail die een ontvanger overhaalt om op een ingesloten link te klikken die verwijst naar een legitieme website die vatbaar is voor een reflecterende XSS-kwetsbaarheid.
De bedreigingsacteur zou deze fout hebben gebruikt om de zero-day exploit-keten, ook wel BlueMoon genoemd, te activeren om de malware af te leveren, terwijl hij systemen uitfiltert die Chrome op Windows niet gebruiken om de URL te bezoeken. De laatste exploitpagina bevat drie binaire payloads als Base64-gecodeerde strings in JavaScript –
- p1shellcode die reflectief een DLL laadt om hostverkenning en vingerafdrukken uit te voeren
- p2shellcode die reflecterend een DLL laadt om de escalatie van Windows-kernelrechten te vergemakkelijken
- blzshellcode om browserprocesinjectie en payload-download uit te voeren
In het geval van UTA0560 is de payload in de volgende fase een uitvoerbaar bestand met de naam ‘msgbox.exe’, dat dient als een lader die verantwoordelijk is voor het extraheren van een legitiem Windows-binair bestand en een kwaadaardige DLL (‘wsc.dll’) om een DLL-sideloading-keten te initiëren. De DLL maakt op zijn beurt contact met dezelfde server om een tekstbestand op te halen dat is vernoemd naar de hostnaam van het apparaat die is verkregen tijdens de profileringsstap.
Het tekstbestand is een MSI-installatieprogramma dat is ontworpen om een versluierde JavaScript-achterdeur uit te voeren die deel uitmaakt van de aangepaste MSI-acties. Eenmaal gelanceerd, komt GRIMWEDGE in een permanente opdrachtlus terecht die een command-and-control (C2)-server (“ocr.opusaccel(.)top”) ondervraagt om verdere instructies te ontvangen die vervolgens in het geheugen worden uitgevoerd via de opdracht eval(). Het is uitgerust om de volgende opdrachten te ontleden:
- Infoom systeemverkenning uit te voeren
- Richtom een directorylijst op te halen
- Mkdirom een map te maken
- Delom een bestand te verwijderen
- Takenlijstom lopende processen op te sommen
- Taakmoordom een proces door PID te beëindigen
- Typeom een bestand van maximaal 5 MB te lezen
- Loopom een opdracht uit te voeren in een verborgen venster
- Uploaden (stukje)om een Base64-gecodeerd deel van de C2-server op te halen en toe te voegen aan een buffer in het geheugen
- Uploaden (vastleggen)om de verzamelde buffer op schijf op te slaan als het uiteindelijke bestand
“De code heeft geen ingebouwd persistentie-, lateraal bewegings- of exfiltratiemechanisme buiten de commando’s voor het lezen en uploaden van bestanden”, aldus de onderzoekers. “De achterdeur biedt een eerste steunpunt op een gecompromitteerde host, voldoende genoeg voor UTA0560 om de host te onderzoeken, interessante bestanden op te halen en extra tools in te zetten via de opdrachten Uitvoeren en Uploaden.”

Volexity zei dat het ook een tweede Chinese nexus-bedreigingsacteur heeft waargenomen, bekend als JungleBamboo (ook bekend als APT31), die rond dezelfde tijd dezelfde exploitketen gebruikte om een lader met de naam SUPERSTOMP in te zetten, die vervolgens LONGTALE installeert, een Chrome-extensie die inloggegevens steelt, ook wel GemStone genoemd, vanaf een externe server. Het doet zich voor als een Google Gemini Chrome-extensie (ID: ckiknalbeplpcpofpnabcnhjcegckfei) om detectie te omzeilen, terwijl het de volgende functies ondersteunt:
- Keylogging en formulierregistratie
- Cookie- en sessiediefstal
- Screenshot vastleggen door pagina-inhoud te controleren op trefwoorden die door een C2-server worden geleverd
- Bulkexfiltratie van toetsaanslagen, cookies, opslaggegevens, navigatiegeschiedenis en sessiemetagegevens naar de C2-server met tussenpozen van ongeveer 30 seconden
- Commando en controle op afstand
“LONGTALE ontbeert zelfs een basiscommando voor het uitvoeren van externe code waarmee de bedreigingsacteur extra post-exploitatieactiviteiten op gecompromitteerde apparaten zou kunnen uitvoeren”, zei Volexity, eraan toevoegend dat het mogelijk is dat “de bedreigingsacteur deze functie als onnodig beschouwde, omdat de uitgebreide mogelijkheden voor informatiediefstal die door LONGTALE werden aangeboden voldoende waren om JungleBamboo’s doelstellingen voor diefstal van inloggegevens en surveillance te bereiken.”
Het vrijwel gelijktijdige gebruik van dezelfde Chrome-Windows-keten door meerdere bedreigingsactoren in China heeft de mogelijkheid doen ontstaan dat deze door de exploit-ontwikkelaar aan hen is verkocht of beschikbaar is gesteld, na mogelijk reverse-engineering van de wijzigingen in de Chromium-broncode.
Wat hier opvalt is de patchkloof: hoewel de oplossingen voor de twee Chrome-fouten naar de open-source Chromium-codebase werden gepusht, waren ze niet opgenomen in een stabiele releaseversie van Google Chrome. Met andere woorden: de upstream-patches creëerden een ongebruikelijk geval van twee N-day-bugs die in Chromium werden verholpen, maar niet in Chrome. Dit zorgde er op zijn beurt voor dat ze zero-days kregen tegen Chrome.
Aangezien Chrome tot vorige week vertrouwde op een releasecyclus van vier weken voor belangrijke releases (nu is dat elke twee weken), is het mogelijk dat de aanvallers snel probeerden te handelen voordat de exploitatieperiode sloot en de officiële patches van Google arriveerden.
Volexity zei: “patch-gap-kwetsbaarheden vormen een nog groter risico, omdat ze een extra tijdvenster creëren voor bedreigingsactoren om exploitatiecampagnes uit te voeren (…) naarmate grote taalmodellen populairder en effectiever worden voor snel onderzoek naar kwetsbaarheden en de ontwikkeling van exploits.”