10月22日、Phoronixが「Several Linux Kernel Vulnerabilities Accidentally Posted To Public Kernel Mailing List」と題した記事を公開した。Trend MicroのZero Day Initiative(ZDI)が、Linuxカーネルの未パッチ脆弱性6件のレポートを、誰でも閲覧できる公開のLinuxカーネルメーリングリスト(LKML)に誤って投稿してしまったという事件を報じている。
流出した脆弱性のうち複数はCVSSスコア9.0——満点10.0のスケールで「緊急」に相当する深刻度——であり、パッチが存在しない状態での公開は攻撃者に悪用の機会を与えかねない。セキュリティ分野の「責任ある開示(Responsible Disclosure)」の慣行では、ベンダーがパッチを準備し終えるまで脆弱性情報を非公開にするのが原則だ。その大原則が、今回は組織内の手順ミスによって崩れた。
ZDIとは何か
Zero Day Initiative(ZDI)は、Trend Microが運営する脆弱性報奨金プログラムだ。研究者から未知の脆弱性情報を買い取り、ベンダーへの通知と責任ある開示を仲介する役割を担う。OSS界隈を含む幅広いソフトウェアの脆弱性研究で存在感を持つ組織であり、今回のような誤操作はZDIの信頼性に直接影響する出来事だ。
LKMLへの誤投稿とGreg KHの反応
Linuxカーネルの脆弱性情報は通常、プライベートなセキュリティメーリングリストに送られ、パッチ準備が整ったタイミングで初めて公開される。ところが今回、ZDIはこのフローを踏まずに直接LKMLへ投稿した。LKMLはアーカイブが公開されており、誰でも購読・閲覧できるリストであるため、情報は実質的に世界に向けて公開された状態となった。
これに気づいたLinuxカーネルの著名なサブシステムメンテナーGreg Kroah-Hartman(Greg KH)が、各レポートに対して「なぜ公開メーリングリストに送ったのか」と問い合わせるメッセージを個別に返信している。コミュニティ側にとって完全に想定外の事態であったことが、この対応からも伝わってくる。
記事の時点では、ZDIがこれを正式に「誤送信」と認めているかどうかは明言されていない。ただ、Greg KHが個別に問い合わせを行っていることから、Linuxカーネル開発コミュニティ側が通常の開示プロセスの外で情報を受け取ったと認識していることは明らかだ。
公開された脆弱性6件の中身
流出した脆弱性の内訳は以下の通りだ。
ZDI-CAN-33549(CVSS 9.0)— SMB Directのリモートコード実行
RDMA経由のSMBプロトコル実装「SMB Direct」における整数アンダーフローに起因するリモートコード実行脆弱性。開発中のGitブランチにはパッチが存在していたが、メインラインへの取り込みは誤公開前には完了していなかった。流出を受け、前倒しでの取り込みが検討されている。
ZDI-CAN-33774(CVSS 9.0)— KSMBDのレースコンディションによるリモートコード実行
KSMBDはLinux 5.15で導入されたカーネル内蔵のSMBサーバー実装で、過去にも重大な脆弱性が複数報告されてきたコンポーネントだ。今回はレースコンディションがリモートコード実行につながる。
ZDI-CAN-33367 — skbuffの権限昇格skbuffのskb_zerocopy関数に起因するローカル権限昇格。誤投稿の直前、別の情報源からも同じ問題がカーネル開発者に報告されており、パッチは近日公開の予定とされている。
ZDI-CAN-34068 — VMWGFXの境界外書き込みによる権限昇格
VMwareグラフィックスドライバ(VMWGFX)の境界外書き込みに起因するローカル権限昇格。
ZDI-CAN-34076 — NVMETの情報漏洩
NVMETコードにおける未初期化リソースに起因する情報漏洩。
ZDI-CAN-32005 — TCPクエリのスタックバッファオーバーフローによる権限昇格
search-domain TCPクエリ処理のスタックバッファオーバーフローに起因するローカル権限昇格。他の5件より1日早く投稿されていた。
AIによる自動化が加速する時代の開示プロセス
元記事では末尾で、AIを活用した脆弱性発見・レポートの自動化が進む現在、バグやセキュリティレポートの件数が増え続けているという状況にも触れている。件数が増えれば増えるほど、開示プロセスの正確な運用は煩雑になり、今回のような手順ミスのリスクも高まる。ZDIほどの組織でこれが起きたという事実は、業界全体への警鐘として受け止めるべきだろう。
詳細はSeveral Linux Kernel Vulnerabilities Accidentally Posted To Public Kernel Mailing Listを参照していただきたい。