Skip to main content
Blog
Blog Attacks

De Polyfill[.]io-aanval - Meer dan alleen een omleidingsaanval

Een omleiding was alleen wat er werd betrapt. Met controle over één script van derden op een half miljoen sites was veel erger mogelijk. Dit is waarom het ertoe deed.

Dec 06, 2024 6 min read
life-changing-sum-of-money-image-cover
Inhoudsopgave

Kort samengevat: verborgen risicoanalyse Polyfill

  • Erger dan een redirect: Iedereen haalde zijn schouders op omdat de zichtbare payload een omleiding naar gok- en volwassenensites was, maar Polyfill serveerde code per verzoek, dus een formjacking- of credential-theft-variant gericht op specifieke bezoekers zou nooit in een publieke scan verschijnen.
  • Een sluimerende verkoop: Het domein werd verkocht voor een levensveranderende som geld, ongeveer zes weken voordat de omleidingen begonnen, en cside monitort wat scripts daadwerkelijk laden en doen in de browser, in plaats van te vertrouwen op een eenmalige broncontrole of reputatiecheck.
  • Eenmalig vertrouwen bewapent: Als je vendor-review een eenmalige goedkeuring is, wordt het verleende vertrouwen een permanente uitvoeringssleutel, dus monitor het runtimegedrag bij elke sessie of accepteer dat de volgende domeinverkoop het script van de ene op de andere dag kan bewapenen.

Weinig tijd? Bekijk cside's in-browser Magecart- en skimmerblokkering. Dit dekt alles hieronder in één deployment.

Toen wij en nieuwsmedia de Polyfill-aanval rapporteerden, waren de reacties verrassend mild. Dit had mogelijk te maken met het zichtbare resultaat: een eenvoudige omleiding naar obscure websites. (Voor de volledige chronologie, zie onze complete Polyfill.io-tijdlijn.)

Maar zoals we in onze post-mortem beschreven, zijn de potentiële gevolgen veel ernstiger:

"Hier koos de kwaadwillende ervoor om gebruikers alleen door te sturen naar sites voor volwassenen en gokken, maar er had veel erger kunnen gebeuren. Toetsaanslagen afluisteren bij een klein percentage van sessies op basis van geolocatie en tijdstip, malware injecteren, cryptocurrency minen, of knoppen op sites herschrijven zodat ze doorverwijzen naar nagebootste betaalportalen.

Van een simpele omleiding tot het onderscheppen van creditcardgegevens: client-side JavaScript-aanvallen kunnen het allemaal. De Polyfill-aanval had veel meer schade kunnen aanrichten; in zekere zin hadden we geluk. Laat dit een herinnering zijn: we moeten onze client-side scripts monitoren."

Feit is dat er hoogstwaarschijnlijk veel meer is gebeurd.

Nieuw inzicht in de domeinoverdracht

Het domein waarop het script werd gehost, werd verkocht aan een door Chinezen geleid bedrijf genaamd Funnull. Ongeveer zes weken later begonnen de omleidingen, en werd het incident herkend als een aanval. Beveiligingsbedrijf Sansec publiceerde zijn forensische analyse van de omleidingspayload. (De bijbehorende CVE-2024-38526 werd toegewezen aan pdoc, de Python-documentatietool die polyfill.io laadde, niet aan het incident als geheel.)

Onlangs onthulde een anonieme bron dat het domein polyfill[.]io — het middelpunt van de aanval — was verkocht voor een "levensveranderende som geld."

Het Polyfill-script was oorspronkelijk gemaakt door Andrew Betts en Jake Champion. Andrew Betts plaatste een (inmiddels verwijderde) tweet waarin hij de verkoop erkende en toegaf er geen invloed op te hebben gehad.

De inmiddels verwijderde tweet van Andrew Betts waarin hij de verkoop van Polyfill erkent

Een andere X-gebruiker, John Schulz, ontdekte een inmiddels verwijderde aankondiging van Funnull waarin Jake Champion werd genoemd als de persoon die het domein aan hen had overgedragen:

De tweet van John Schulz met de Funnull-aankondiging waarin Jake Champion werd genoemd

Een inmiddels verwijderde tweet van Jake Champion bevestigt dat hij het domein persoonlijk aan Funnull heeft overgedragen.

De inmiddels verwijderde post van Jake Champion die bevestigt dat hij het polyfill.io-domein overdroeg

Mogelijke doemscenario's

De aanval kwam aan het licht doordat gebruikers werden doorgestuurd naar sites voor volwassenen en gokken. Maar als het domein voor een "levensveranderende som" werd verkocht, lijkt het onwaarschijnlijk dat het uitsluitend werd ingezet voor zo'n eenvoudige exploit.

Wekenlang trof deze aanval een half miljoen websites, waaronder Intuit, The Guardian, Hulu en The Verge.

Hieronder volgen enkele potentiële doemscenario's die hadden kunnen worden uitgevoerd door controle te krijgen over één enkel JavaScript-bestand van een derde partij.

DDoS-aanval

Aanvallers kunnen IP-adressen van bezoekers van een half miljoen websites verzamelen en hun apparaten inzetten om verzoeken naar een willekeurig doelwit te sturen, waarmee een van de grootste DDoS-aanvallen ooit wordt gecreëerd. Dit kan grote instellingen, zowel privaat als overheidsinstanties, urenlang platleggen.

Workday-aanval

Aanvallers kunnen medewerkers ertoe verleiden hun Workday-inloggegevens te delen, waardoor ongeautoriseerde toegang tot backendsystemen wordt verkregen, of gewoon hun sessietoken stelen. Dit kan leiden tot:

  • Manipulatie van salarisadministratie
  • Diefstal van personeelsgegevens
  • Toegang tot gevoelige HR-data
  • … en meer

Willekeurige inhoud op een webpagina herschrijven

Op geïnfecteerde nieuwssites kunnen aanvallers inhoud herschrijven om:

  • Reacties of paniek uit te lokken
  • De publieke opinie te manipuleren
  • Narratieven rond controversiële onderwerpen te veranderen
  • … en meer

Onderscheppen van persoonsgegevens en creditcardgegevens

Client-side aanvallen richten zich vaak op het verzamelen van persoonlijk identificeerbare informatie (PII) en betaalgegevens. Met meer dan een half miljoen getroffen websites, waaronder veel met afrekenformulieren, kunnen aanvallers op grote schaal betaalgegevens stelen.

Andere websites infecteren

Een geïnfecteerde site kan kwaadaardige scripts hosten, waardoor de aanval zich verder kan verspreiden. Deze tactiek bemoeilijkt detectie en inperking. Deze techniek wordt vaak gebruikt bij client-side inbreuken, zoals te zien bij Schrwaa[.].com (veilige link naar een artikel).

Crypto minen in de browser

Cryptojacking — het dwingen van browsers van gebruikers om cryptocurrency te minen — is een goed gedocumenteerde tactiek. Als dit wordt uitgevoerd op een half miljoen drukbezochte websites, kunnen aanvallers enorm profiteren van miljoenen dagelijkse bezoekers. Lees meer over de BrowseAloud- en de Copay event-stream-aanvallen voor recente voorbeelden.

Een en-scenario

Deze scenario's staan niet op zichzelf: ze kunnen gelijktijdig plaatsvinden. De omleidingen hebben al plaatsgevonden, maar de andere scenario's kunnen tegelijkertijd actief zijn geweest.

Zonder client-side monitoring is het onmogelijk dit te weten.

Om precies te zijn over het bewijs: de enige payload die onderzoekers vastlegden en decodeerden, was de omleiding. Een onafhankelijke deobfuscatie door SecureLayer7 vond geen vastgelegd bewijs van het oogsten van inloggegevens, keystroke logging of het lekken van persoonsgegevens, en Sansecs forensische onthulling documenteerde hetzelfde gedrag dat zich tot alleen omleiding beperkte. De bovenstaande scenario's zijn daarom mogelijkheden, geen bevestigde gebeurtenissen, maar omdat het script voor elk verzoek opnieuw werd opgebouwd, zou een gerichte variant op gegevensdiefstal nooit in een publieke scan verschijnen. Omleiding: bewezen. Stille, gerichte diefstal: aannemelijk door het ontwerp, nooit vastgelegd.

Deze onzekerheid is de reden waarom we cside zijn gestart. Hoewel we niet elke aanval wereldwijd kunnen zien, monitoren we scripts van derden op uw site om aanvallen zoals deze te detecteren en te voorkomen dat ze uw gebruikers schaden.

Laten we hopen dat de omleiding het ergste was. Maar het feit dat er veel erger had kunnen gebeuren, is reden genoeg om actie te ondernemen. In 2025 sanctioneerde OFAC Funnull vanwege de bredere operatie achter dit domein — een herinnering dat de mensen die het runden geen hobbyisten waren. Bescherm uw site binnen enkele seconden, gratis, door u vandaag nog aan te melden.

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks, web security is not an enterprise-only problem.

FAQ

Frequently Asked Questions

Het gedrag dat werd vastgelegd en gedecodeerd, was een omleiding naar scam- en goksites. Onafhankelijke analyse van de herstelde payload vond alleen omleidingslogica. Maar de service genereerde per verzoek code, dus een variant op gegevensdiefstal die op specifieke bezoekers was gemikt kon niet worden uitgesloten en zou niet in publieke scans verschijnen. Zonder client-side monitoring had een site-eigenaar geen manier om te weten wat er voor zijn gebruikers draaide.

Een first-party script kan alles op de pagina die het laadt lezen en herschrijven, inclusief formulieren, cookies, sessietokens en inhoud. Met controle over één script op ongeveer een half miljoen sites kon een operator formjacking, diefstal van inloggegevens, manipulatie van inhoud, cryptojacking of grootschalige DDoS proberen. De same-origin policy beperkt het tot elke pagina waarop het draait, niet je andere tabbladen.

Beheerder Jake Champion droeg het domein polyfill.io en de bijbehorende repository begin 2024 over aan Funnull. Een anonieme bron omschreef de verkoop als een levensveranderende som geld, maar er is nooit een bevestigd bedrag gepubliceerd.

Controles op basis van bron en vendorreviews missen runtime gedrag. Het betrouwbare signaal is wat scripts daadwerkelijk laden en doen in de browser. Runtime monitoring markeert omleidingen, nieuwe sub-scripts en onverwachte datatoegang wanneer echte gebruikers de pagina laden.

Monitor en beveilig je third-party scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start gratis, of probeer Business met een proefperiode van 14 dagen.

cside-dashboardinterface met scriptmonitoring en beveiligingsanalyses
Related Articles
Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip