Cybersecurityonderzoekers hebben details bekendgemaakt over een remote Spectre-aanval op Cloudflare Workers die een JSON Web Token (JWT) lekte van een co-gehoste Worker in de productieomgeving met een snelheid tot 12 bits per seconde. Dit is 360 keer sneller dan een vergelijkbare aanval die in 2021 werd gedemonstreerd. Het experiment werd uitgevoerd met een aanvallende Worker en een slachtoffer-Worker, beide gecontroleerd door de onderzoekers, waarbij het JWT bewust in het geheugen van het slachtoffer werd geplaatst. Volgens het onderzoekspaper is er geen klantdata ingezien.

Cloudflare gaf aan dat de aanval inmiddels is gemitigeerd in de productieomgeving door verbeteringen in Dynamic Process Isolation (DyPrIs), de integratie van de V8 Sandbox en de inzet van Memory Protection Keys (MPK)-gebaseerde isolatie binnen processen. Daarnaast zijn er geen aanwijzingen gevonden voor actieve exploitatie in de afgelopen drie jaar. De onderzoekers concludeerden dat de implementatie van DyPrIs in productie onvoldoende was. Cloudflare Workers draaien code van meerdere gebruikers in aparte V8 isolates binnen hetzelfde besturingssysteemproces, waarbij isolatie op taalniveau wordt toegepast in plaats van strikte procesisolatie om opstartvertraging te verminderen. Een geheugenlekkage binnen een gedeeld Worker-proces kan leiden tot datalekken tussen gebruikers, aldus Cloudflare.

De aanval vereist dat de aanvaller en het slachtoffer zich in aparte V8 isolates binnen hetzelfde Worker-proces bevinden. De aanvaller heeft controle over geldige code in zijn eigen isolate. Native code-executie valt buiten het dreigingsmodel en de aanval is niet afhankelijk van een V8 software-exploit of sandbox-escape. Cloudflare benadrukt dat Workers lokale timingbronnen beperken door timers te bevriezen of te versimpelen tijdens CPU-uitvoering en dat gedeeld geheugen of multithreading niet beschikbaar zijn voor Worker-scripts. De onderzoekers ontdekten echter dat WebSocket-communicatie een externe timingbron kan bieden en dat Durable Objects een enkele Worker-isolate tot meer dan 20 uur actief kunnen houden.

DyPrIs is ontworpen om verdachte scripts na een oproep in een apart proces te isoleren, maar de onderzoekers vonden dat een langlopende Durable Object-oproep kon blijven draaien voordat isolatie plaatsvond. Ook verhoogde intensieve WebSocket I/O-activiteit de instructie-vertaling lookaside buffer (iTLB) activiteit, waardoor het signaal voor branch-mispredictie dat DyPrIs gebruikt onder de detectiedrempel daalde. Cloudflare beschrijft dit als een beperking van DyPrIs, terwijl het onderzoek stelt dat deze zwakheden fundamentele beperkingen van de detectiemethode weerspiegelen. Volgens de onderzoekers zou robuuste detectie tijdens uitvoering moeten plaatsvinden met signalen die niet door I/O-activiteit onderdrukt kunnen worden.

De tests in productie werden uitgevoerd op Linux-servers met AMD EPYC Zen 2 en Zen 3 processoren, waarbij metingen bewust ’s nachts werden gedaan bij een CPU-belasting van 10 tot 25 procent om optimale resultaten te verkrijgen. Hogere systeembelasting verlaagde de lek-snelheid, maar langzamere aanvallen bleven mogelijk. De lek-snelheid bedroeg maximaal 12 bits per seconde met 99,16 procent nauwkeurigheid, vergeleken met 2 bits per minuut in de eerdere aanval. Deze onthulling komt bijna vijf jaar na de publicatie van Cloudflare en TU Graz over een remote Spectre-aanval op Workers met 120 bits per uur en de introductie van DyPrIs als verdedigingsmechanisme. Cloudflare publiceerde in september 2025 aanvullende maatregelen ter versterking van Workers.