PHPを更新したばかりなのに…今度はGoogle製のプログラムに重大な欠陥が

8,552

平木昌宏
Image: Shutterstock.com

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版を使っているなら、もう一度確認を。

Source: JPCERT/CC, Google, PHP, Node.js, Microsoft

関連記事: