PHPを更新したばかりなのに…今度はGoogle製のプログラムに重大な欠陥が
8,552
平木昌宏Webサイトの管理者さん、今週も落ち着けそうにありません。
先週、PHPの重大な脆弱性が見つかり、国内でも多くのWebサービスが緊急メンテナンスに追われました。
ようやく更新を済ませたと思ったら、今度はGoogle(グーグル)が開発したデータ圧縮技術「Brotli」に重大な欠陥が見つかったそうです。
そもそもBrotliって何?
Brotli(ブロトリ)。名前を聞いても、何の技術なのかさっぱりわかりませんよね。
でも、普段見ているWebサイトの裏側で重要な仕事をしているんです。
たとえば、Webサイトには文字やプログラムなど、さまざまなデータが使われています。それらを全部そのまま送ると通信量が増えてしまうので、データを小さく圧縮して送る仕組みがあります。
つまり、荷物を圧縮袋に入れてコンパクトにし、届いた先で元に戻すようなイメージですね。
Brotliは、この圧縮と展開に使われる技術なのですが、今回、圧縮されたデータを元に戻す処理に欠陥が見つかりました。
攻撃者が細工したデータを読み込ませると、プログラムが使うメモリの一部が壊れ、アプリが突然終了したり、内部の情報が漏れたりするおそれがあるそうです。場合によっては、不正なプログラムを実行される可能性もあるとか…。
危険度を示す指標は10点満点中9.2点。最も深刻な「緊急」に分類されています。
あれ?この数字どこかでみたような…。
そうです、先週見つかったPHPの脆弱性と同じ危険度なんです。結構ヤバいっす。
困ったことに、あちこちで使われている
今回マズイのは、Brotliを使っているソフトが思った以上に多いことです。
たとえば、Webサービスの開発などで使われるNode.jsや、Python向けのBrotliパッケージも影響を受けます。
さらにMicrosoft(マイクロソフト)も、アプリの開発・実行に使われる「.NET」向けに緊急のセキュリティ更新を公開しました。
Brotliそのものを意識して使っている人は少ないでしょう。でも、便利な技術だけに、いろいろな製品の中で働いているんです。
PHPの脆弱性とは別の問題なのですが、Windows版PHPにもBrotliが組み込まれているため、10月26日に更新版が再配布されました。
PHP公式によると、今回はPHP本体に新しい欠陥が見つかったわけではなく、内部で使っているBrotliを修正版に入れ替えたとのこと。
先週せっかく更新したのに、また確認が必要になるとは…ほんと勘弁してほしい。
普通にネットを使っている人は大丈夫?
ここまで聞くと、いつも見ているWebサイトも危ないのでは、と心配になりますよね。
ただ、Brotliを使っているサービスすべてが、今回の欠陥によって危険になるわけではありません。
問題になるのは、脆弱なソフトが攻撃者の細工した圧縮データを展開する場合です。
普段スマホやPCでネットを利用している人は、自分でPHPやBrotliを更新する必要はありませんが、OSやブラウザー、アプリの更新が届いていれば、適用しておきましょう。
一方、Webサイトの管理者や開発者は、自分たちの使っているソフトが影響を受けるか確認が必要です。
Windows版PHPの場合、特定の設定で圧縮データを自動展開すると問題が起こる可能性があります。この設定は標準では無効ですが、アプリによっては有効になっていることもあるそうです。
今回再配布されたWindows版PHPのパッケージには、「8.5.12-1」など、末尾に「-1」が付いています。
先週PHPを更新したばかりでも、Windows版を使っているなら、もう一度確認を。