AMDおよびIntelのx86プロセッサ上で稼働する「Windows」、「macOS」、「Linux」の主要ディストリビューション、「FreeBSD」、「VMware」、「Xen」に影響する、深刻な脆弱性が明らかになった。OS開発者がチップメーカー2社のデバッグ文書の解釈を誤ったのが原因とみられる。
US-CERTは米国時間5月8日、認証を受けた攻撃者が「メモリ内の機密データを読んだり、OSの低級な機能を制御したり」する可能性を警告し、影響を受けるOSおよびハイパーバイザの開発元でパッチの対応状況を確認するよう呼び掛けている。
US-CERTは影響を受ける開発元として、Apple、DragonFly BSD、FreeBSD、Linux Kernel、Microsoft、Red Hat、SUSE Linux、Synology、Ubuntu、VMware、Xenプロジェクトを挙げている。Linuxディストリビューションの場合、LinuxカーネルとカーネルのKVMハイパーバイザに影響する2つの問題がある。入手可能なアップデートへのリンクは、US-CERTの勧告に掲載されている。
提供:CERT
Red Hatの説明によると、この脆弱性は、OSやハイパーバイザが最新CPUのデバッグ機能を処理する方法(今回の場合はデバッグの例外処理)に起因するという。
RedHatは、セキュリティ勧告で次のように述べている。「一般に、例外は命令境界で発生する。例外を生じさせた命令以前の命令はすべて実行を完了できるが、例外を生じさせた命令は停止させられ、例外処理の終了後に実行を再開できる」
「命令によってタスクやスタックの切り替えが生じる少数の例では、こうした例外が命令後に発生する。その場合注目しなければならないのは、MOV SS命令やPOP SS命令などでは、例外を生じさせた命令の実行が許可される点だ」(Red Hat)
US-CERTによると、MOV SS命令またはPOP SS命令という2つの例外命令の後にSYSCALLなど一部の命令が置かれている場合、予想外の動作をする可能性があるという。
Linuxでは、この脆弱性を利用して、攻撃者がシステムをクラッシュさせる可能性がある。それだけでなく、KVM上で動作しているゲストOSの非特権ユーザーが、「ゲストOSをクラッシュさせたり、場合によっては、ゲストOS内で特権昇格させたり」できる可能性もある。
Microsoftによると、攻撃者はこの脆弱性を突いて、カーネルモードで任意のコードを実行できる可能性があるという。
Microsoftのセキュリティ勧告には次のように記載されている。「この脆弱性を突くには、攻撃者はまずシステムにログオンしなければならない。続いて、特別に細工されたアプリケーションを実行して、影響を受けるシステムを制御できる」
VMwareによれば、同社のハイパーバイザには影響しないが、「VMware vCenter Server」「VMware Data Protection」「VMware vSphere Integrated Containers」などの製品は影響を受ける可能性があるという。
Xenプロジェクトは、全バージョンのXenが影響を受けるが、この脆弱性を利用できるのは準仮想化されたゲストOSだけだと述べている。ハードウェア仮想マシンではこの脆弱性を利用できない。
US-CERTは、上述の命令の利用に関する不明瞭な記述を含む可能性のある文書やガイダンスの解釈が原因で、複数のOSが例外の処理を誤っているようだと指摘している。
この脆弱性を発見したEverdox TechのNick Peterson氏とTriplefault.ioのNemanja Mulasmajic氏は、「BlackHat 2018」で調査結果を発表する予定だ。
両氏は報告書で次のように指摘している。「これは深刻な脆弱性であり、POP SS命令とMOV SS命令の警告と割り込みゲートのセマンティクスとのやりとりに関する不明瞭で、おそらく不完全でもある文書が原因で、OSベンダーに見落とされた」
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。