Skip to main content
Blog
Blog Attacks

More than 490k websites targeted in web supply chain attack

The cdn.polyfill[.]io domain is being used in a web supply chain attack. We were first to report the real scale: more than 490,000 affected websites.

Jun 25, 2024 Updated Jul 19, 2026 3 min read
more-than-490k-websites-image-cover
Table of Contents

TL;DR: the Polyfill.io supply chain attack

  • The real number: 490,000+ sites affected, not the 100,000 everyone quotes. That number was just PublicWWW's default result cap.
  • Why WAFs missed it: The compromise was in the browser supply chain, not the origin. WAFs never saw it because an allowlisted domain served the malicious code.
  • What PCI DSS covers: This is exactly the attack 6.4.3 and 11.6.1 were written for. Both enforced from 31 March 2025.

Short on time? See cside's in-browser Magecart and skimmer blocking. It covers everything below in one deployment.

Take action now

The Polyfill service itself is still solid. You can host your own version in a safe and controlled environment without issue. The issue lies within the domain cdn.polyfill[.]io which should immediately be removed from your sites.

Third-party resources are in a very powerful position and thus a high value target for bad actors. CDNs hosting third-party scripts are subject to attack. In 2021 cdnjs itself had certain vulnerabilities exposed.

Editor's note (2026): The section below describes cside's original 2024 architecture. cside now performs full client-side script monitoring, a single first-party JavaScript snippet that observes what third-party scripts actually do in real visitors' browsers, including the conditional, geo- and time-gated payloads (like this one) that show clean code to scanners and crawlers. The script-delivery proxy described below was retired in early 2026.

With cside, browser-fetched third-party dependencies are no longer made directly to the third party. Instead, they travel through the cside detection and optimization engine. Making it able to detect highly targeted attacks against a small percentage of users. If anything malicious is detected, we block it before it gets served to the end-user.

Our detection engine is able to spot this change in the actual code and block it from happening. If a site running cside would also have had the cdn.polyfill[.]io try to load a tampered script, it would not have been served to the user.

You would have been alerted right away and would've known the second this was going on. We also save the script's code and deobfuscate it so you can check what it does for yourself.

At the time of writing this article, threat feeds do not flag this domain. That shows relying solely on those is risky business, as we mentioned here.

A redirect was only what was caught. We later explained why the Polyfill attack was more than just a redirect attack, and in 2025 OFAC sanctioned Funnull, the company behind the domain.

Get started using cside for free and protect yourself today.

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

The cdn.polyfill[.]io domain was sold to Funnull in early 2024 and started injecting malicious JavaScript into the hundreds of thousands of sites that still referenced it. Hulu, The Guardian, and Intuit were among the high-profile sites affected.

Remove the script immediately and audit the rest of your third-party scripts for similar abandoned or sold domains. Hosting your own polyfill build or switching to a vetted CDN mirror is the safest path.

More than 490,000 sites were affected. cside was first to publish that scale in June 2024, and Censys independently counted 384,773 hosts still loading the compromised CDN. The often-cited '100,000' figure was only the PublicWWW search tool's default result cap; the real number is nearly five times higher.

Nothing on the affected sites was breached in the traditional sense; the attackers bought the polyfill.io domain in February 2024 and used the pre-existing trust of a widely embedded CDN to serve malicious JavaScript to every downstream visitor. The compromise happened in the browser supply chain, not in the origin, which is why WAFs and origin-side controls did not detect it.

Google's June 2024 mitigation blocked polyfill.io references in Google Ads landing-page checks and browsers began flagging the domain, but neither action removes the reference from your codebase or your third-party dependencies. Sites that still ship a polyfill.io script tag remain a data-exfiltration risk if the domain is ever routed back to malicious infrastructure. Remove the reference at the source.

PCI DSS 4.0.1 §6.4.3 (script inventory and authorization) and §11.6.1 (payment-page tamper detection) are the first mainstream mandates to require detection of browser-supply-chain compromises on payment pages. Enforcement dates were set for 31 March 2025. Beyond PCI, the EU's DORA and NIS2 frameworks name third-party ICT dependencies as in-scope, and NIST SSDF references transitive JavaScript dependencies as a supply-chain risk category.

Monitor and Secure Your Third-Party Scripts

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

Start free, or try Business with a 14-day trial.

cside dashboard interface showing script monitoring and security analytics
Related Articles
Book a demo

Want to walk through this with an engineer?

Thirty minutes, on your own site. Not a slide deck.

Book a personalized demo to see:

How to achieve PCI DSS requirement 6.4.3 & 11.6.1 compliance in 1 day
Why third-party scripts are a security risk for you and your visitors
Monitoring privacy and consent leakage (GDPR, CCPA) across every third party
Stopping signup abuse, account sharing, and chargeback fraud with device intelligence
Detecting and controlling AI agents and bots hitting your site in real time

Rather just send a question?

Finding open slots…

Real humans only. We'd know.

Having trouble booking? Open scheduler in a new tab

What are you trying to solve?

Tell us in a line and we'll come back with something useful, not a generic pitch.

We usually help with:

Seeing which third-party scripts run on your site
PCI DSS 6.4.3 and 11.6.1 evidence
Bots, AI agents and account takeover

Prefer to just book a time? Pick a slot instead