盡快刪除!流行前端庫遭受攻擊,影響 10w+ 網站
近日,安全機構 Sansec 發文稱流行前端庫 polyfill.js 受到了供應鏈攻擊,受影響的網站超過 10 萬個。通過 CDN 使用該庫的網站,在特定情況下會跳轉到賭 * 和色 * 網站,下面就來看看這是怎么個事!
polyfill.js 是什么?
Polyfill.js 提供的代碼用于模擬瀏覽器中缺失的原生功能。Polyfill.js 會檢測瀏覽器是否原生支持某個特性或 API。如果瀏覽器不支持該特性,Polyfill.js 會提供一個替代實現,模擬該特性的行為。如果瀏覽器已經支持該特性,Polyfill.js 不會執行任何操作,而是讓瀏覽器使用其原生實現。
發生了什么?
今年早些時候,一家名為 Funnull 的公司(疑似一家中國公司)收購了 polyfill.io 域名和 Github 賬號。而 Polyfill.js 的 CDN 使用的就是這個域名(cdn.polyfill.io)。之后,該公司向 Polyfill.js 中注入了惡意腳本代碼,導致在移動端使用時(惡意代碼會根據 HTTP 標頭動態生成)會跳轉到惡意網站。
其實早在今年 2 月,Polyfill.js 的作者就表示,如果網站使用 polyfill.io,請盡快刪除,現代瀏覽器已經不再需要它。并且作者已經不再擁有它,無法保證后續的正常使用。
根據 Cloudflare CEO 的說法,此次受影響的網站超千萬個,占所有網站的 4%(不知真假,無從考證)。
目前:
- polyfill.io 的域名注冊商已經暫停了該域名的使用,服務已經無法正常訪問;
- Google 已經屏蔽了使用 polyfill.io 的網站的廣告。
需要做什么?
如果你的項目使用了 polyfill.js,可以這樣做:
(1) 所有使用 cdn.polyfill.io 的應用都應立即將其刪除。
(2) 如果仍然需要 polyfill,Fastly 和 Cloudflare 都提供了值得信賴的替代方案。
- Fastly:https://polyfill-fastly.io/
- Cloudflare:https://cdnjs.cloudflare.com/polyfill
(3) 還可以自托管 polyfill.js:https://github.com/jakeChampion/polyfill-service-self-hosted/