ssh-keysign-pwn対応Linux 7.0.8公開
ssh-keysign-pwnを塞いだLinux 7.0.8が5月15日にリリースされ、現役のLTSカーネル6系統もすべて同日に修正版が出揃った。穴は塞がれた、配布版に届くまでが本番だ。
7.0.8と全現役LTSが同日に出揃った
グレッグ・クロー=ハートマン(Greg Kroah-Hartman)は日本時間5月15日夜、Linux 7.0.8の公開をLKMLでアナウンスした。差分は4ファイル・21行追加・7行削除と小さく、コミットログには「ptrace: slightly saner 'get_dumpable()' logic」(多少はまともなget_dumpable()ロジック)の1行だけが書かれている。Linux 7.0.8の正体は、前日にリーナス・トーバルズ(Linus Torvalds)がメインラインへ投入したssh-keysign-pwn対策のパッチを、stable版へ取り込んだものだ。
同じ修正が、現役のLTSカーネル全6系統にも当てられている。
| 系列 | 修正版 | 初回リリース | EOL | 位置づけ |
|---|---|---|---|---|
| 7.0 | 7.0.8 | 2026年4月 | 短期 | 最新stable |
| 6.18 | 6.18.31 | 2025年11月 | 2028年12月 | 最新LTS |
| 6.12 | 6.12.89 | 2024年11月 | 2028年12月 | 現役LTS |
| 6.6 | 6.6.139 | 2023年10月 | 2027年12月 | 現役LTS |
| 6.1 | 6.1.173 | 2022年12月 | 2027年12月 | 現役LTS |
| 5.15 | 5.15.207 | 2021年10月 | 2026年12月 | 現役LTS |
| 5.10 | 5.10.256 | 2020年12月 | 2026年12月 | 現役LTS |
通常運用では、stable版の修正がLTS側に降りてくるまで数日のラグが出る。今回はそのラグがほぼゼロで揃った。2020年12月にリリースされたLinux 5.10系列まで同じ日に修正版が出るのは、相当な緊急対応だ。
即日対応になった理由
修正パッチ自体は前日のうちにメインラインへマージされていた。報告者のQualysがoss-securityへアドバイザリーを送ったとき、コミット31e62c2ebbfdはすでに歴史の中だった。
Today a vulnerability that we reported to security@kernel was fixed.
(本日、私たちが security@kernel に報告した脆弱性が修正された)
Qualysのアドバイザリー冒頭はこの一文で始まる。報告から修正、公表までが短い時間軸に圧縮された背景には、エクスプロイトコードの公開がある。ssh-keysign-pwnの名前で動くPoC(実証コード)が、修正コミットの直後にGitHubで公開された。配布版が修正カーネルを取り込むまでの数日間、未更新のLinuxマシンは穴が開いたまま動き続ける。Qualysが当初予定していたディストリビューションへの事前通告期間は、PoC公開によって短縮を余儀なくされた。
stable側メンテナにとって選択肢は1つしかなかった。マージ済みのパッチを全現役LTSへ即座にバックポートする、それだけだ。半日でLTS6系統に修正を通したクロー=ハートマンの動きは、見事な対応だった。
ユーザー側でやることは1つだけ
修正版カーネルを入れる。それだけだ。ただし、配布版のパッケージマネージャー経由でカーネルが降りてくるまでにはタイムラグがある。
PoCで動作確認された配布版は、Debian、Ubuntu、Arch、CentOS、Raspberry Pi OS。ここに挙がった配布版はいずれも、いま順次セキュリティアップデートを配信している段階にある。apt update && apt upgradeなりpacman -Syuなりを今日のうちに1度走らせておけば、配布版経由でカーネルが届いた瞬間に更新が乗る。
セルフホスト環境ではuname -rで現在のカーネルバージョンを確認し、上記の修正版番号に追いついているかを見る。追いついていなければ再起動が要る。サーバー運用者にはここからが面倒で、カーネル更新は再起動を伴う。kexecやlivepatchを使えば再起動を回避できるが、エンタープライズ向けライブパッチサービスを契約していない環境では、計画停止を組むことになる。
半月で4件、連続するLinuxカーネル脆弱性
2026年4月末から5月にかけて、Linuxカーネルでは深刻な脆弱性公表が立て続けに起きている。Copy Fail、Dirty Frag、Fragnesia、そしてssh-keysign-pwn。半月で4件、いずれも非特権ユーザーがroot権限相当の被害を引き起こせる類の問題だった。
Copy Fail(4月29日公表、AF_ALG経由のページキャッシュ書き込み)
Dirty Frag(5月7日、ESP-in-TCP経由の任意書き込み)
Fragnesia(5月13日、Dirty Fragの派生)
ssh-keysign-pwn(5月14日、ptraceの論理バグ)
攻撃面は別々、行き先はrootで同じ。
修正のスピード自体は速い。問題は、修正版が出てから配布版に届くまでの数日間が、攻撃者にとっての狙い目の窓になることだ。多人数で使う共有サーバー、教育機関、レンタルVPS、ローカルアカウントを他人と共有する環境ほど影響が大きい。逆に、自分専用のデスクトップでローカルログインが自分1人なら、慌てる必要はない。
修正の中身は、前回の記事で書いた__ptrace_may_access()のロジック取りこぼし1点を塞ぐもので、根本的な再設計ではない。「slightly saner」(多少はまともな)というコミットメッセージの控えめな表現に、リーナス・トーバルズの判断が出ている。完璧を狙わず、穴の開いている場所だけを最小限の差分で閉じる。配布版メンテナが半日で全LTSに通せたのも、差分の小ささに助けられた部分が大きい。
5月だけで4回、修正版リリースとPoC公開がほぼ同時に降ってきた。今週はもう1度パッケージ更新を回しておけば、無駄にはならない。
参照元
- LKML - Greg Kroah-Hartman: Linux 7.0.8 release announcement
- Qualys Security Advisory - Logic bug in the Linux kernel's __ptrace_may_access() function (oss-security)
- Linux kernel commit 31e62c2ebbfd - ptrace: slightly saner 'get_dumpable()' logic