[画像] JavaScriptライブラリ「Polyfill.io」にマルウェアが混入され10万以上のサイトに影響



ウェブブラウザのバージョン間の違いを無効化するJavaScriptライブラリ「Polyfill.io」が、2024年2月のプロジェクトオーナー変更後、マルウェアが混入されてサプライチェーン攻撃に利用され、10万以上のサイトに影響が出ています。

Polyfill supply chain attack hits 100K+ sites

https://sansec.io/research/polyfill-supply-chain-attack

「Polyfill.io(polyfill.js)」はアンドリュー・ベッツ氏が開発したJavaScriptライブラリです。ウェブブラウザのバージョン間で機能の違いがあると開発時に苦労しますが、Polyfill.ioを利用すれば、新しいバージョンにしかない機能を古いバージョンで利用できるようになるため、バージョンの違いを気にすることなく開発を進めることができます。

ユーザーとしては世界経済フォーラムや学術誌などを収蔵している電子図書館のJSTOR、ビジネスソフトウェア開発で知られるintuitなどが知られていて、DataSignが2023年12月にウェブサービス15万781件を対象に行った「検出されたサービス TOP100」に、検出数776で97位にランクインしています。

ただし、すでに開発者のベッツ氏はプロジェクトを離脱。メンテナーだったジェイク・チャンピオン氏がプロジェクトを引き継ぎましたが、毎秒1万リクエスト以上を処理するほどのサービスに成長するのは予想外だったとのことで、2024年2月、中国の方能(Funnull)という企業に売却されました。

ベッツ氏はこの時点で、Polifill.ioの使用をやめるよう呼びかけています。



状況の変化に気付いたユーザーが調べたところ、方能は「Polyfill.ioにバグがあったり不都合が生じても保証はしない」「使用条件に変更を加えても通知しない」などを表明していました。なお、このことを指摘するGitHubへの書き込みは削除されています。

Is it true that polyfill.io hosting is going to be owned by a Chinese company? · Issue #2834 · polyfillpolyfill/polyfill-service · GitHub

https://web.archive.org/web/20240229113710/https://github.com/polyfillpolyfill/polyfill-service/issues/2834

セキュリティ企業のSanSecによると、オーナーが方能に変わったのち、cdn.polyfill.ioを埋め込んだサイトを介して、モバイル端末にマルウェアを感染させる試みが確認されているとのこと。Polyfill.ioを利用中のサイトは10万以上あるとみられます。

なお、元開発者のベッツ氏によれば、「Web Serial」や「Web Bluetooth」のようにPolyfillで対応できない例外を除き、ウェブプラットフォームに採用されたほとんどの機能は主要なウェブブラウザにただちに採用されるため、「Polyfill.io」ライブラリを必要とするようなウェブサイトはないとのことです。



ちなみに、Polyfill.ioを必要とする人のために、CloudFlareやFastlyが自前のフォークを用意しています。

polyfill.io now available on cdnjs: reduce your supply chain risk

https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk

New options for Polyfill.io users - General - Fastly Community

https://community.fastly.com/t/new-options-for-polyfill-io-users/2540

◆フォーラム開設中

本記事に関連するフォーラムをGIGAZINE公式Discordサーバーに設置しました。誰でも自由に書き込めるので、どしどしコメントしてください!Discordアカウントを持っていない場合は、アカウント作成手順解説記事を参考にアカウントを作成してみてください!

• Discord | "JavaScriptライブラリ「Polyfill.io」使ったことある?" | GIGAZINE(ギガジン)

https://discord.com/channels/1037961069903216680/1255451345930948619