Poisoned Pipeline

Poisoned Pipeline / Incidents / AS8

AS8 · 2024-06

Polyfill.io CDN takeover

CDN / web assets

The polyfill.io domain, embedded by hundreds of thousands of websites as a
JavaScript CDN, changed hands. The new operator served malicious script in
place of the expected polyfill, redirecting users and injecting extra
payloads. CISA and multiple CDNs issued emergency guidance to stop loading
assets from cdn.polyfill.io. This incident is a web-asset supply-chain
compromise, not a package-registry event, and was missing from the technique set until
T0205 was added.

Mapped techniques

supply-chain polyfill.io

T0205 · Initial Access · Compromise third-party CDN or hosted web asset

Control of the hostname was enough; sites that hotlinked the CDN
began executing attacker JavaScript with no application deploy.

T0121 · Resource Development · Compromised legitimate artifact

The familiar script URL kept its name and consumers while the bytes
behind it changed.

T0180 · Initial Access · Compromise services / servers

Taking over the CDN service itself, rather than a consumer site,
multiplied blast radius.

post-supply-chain Sites embedding polyfill.io

T0159 · Execution · Malicious artifact execution

Browsers executed the substituted script in the origin of every
embedding site.

T0207 · Defense Evasion · Skip or forge artifact integrity verification

Sites hotlinked the CDN without Subresource Integrity, so the bytes
behind the trusted URL could change without a check failing.

T0201 · Impact · Customers compromised

End users of those sites were the actual victims; site owners were
the unwitting distribution channel.

Framework gaps noted

Sources