Qualysの研究者によって「ssh-keysign-pwn」と名付けられた新たに開示されたLinuxカーネルの脆弱性は、数百万のLinuxシステムを機密のSSH秘密鍵と/etc/shadowに保存されたハッシュ化されたパスワードへの無許可アクセスにさらします。
CVE-2026-46333およびGHSA-pm8f-4p6p-6×53として追跡されているこの脆弱性は、約6年間検出されないまま存在し、2026年5月15日に国立脆弱性データベースに公開されました。
Linux「ssh-keysign-pwn」脆弱性
この問題の核心は、あるプロセスが別のプロセスを検査またはトレースできるかどうかを制御するLinuxカーネルの__ptrace_may_access()関数にあるレース条件です。この脆弱性は、プロセスがコアダンプを生成できるかどうかに元々関連付けられていた概念である「ダンプ可能性」ロジックの欠陥から生じています。
この問題は、プロセス終了シーケンス中に発生します。ssh-keysignやchageなどの特権プロセスがdo_exit()経由でシャットダウンを開始する場合、最初にexit_mm()を呼び出し、メモリポインタ(mm)をNULLに設定します。
しかし、プロセスはexit_files()が数瞬後に実行されるまで、機密ファイルディスクリプタ(FD)を開いたままにしておきます。
この短い時間ウィンドウの間に、権限のないローカル攻撃者がpidfd_getfd()を悪用してこれらのオープンファイルディスクリプタを閉じられる前に盗むことができます。これはQualysのoss-securityでの開示によります。
ptrace_may_access()はアクティブなメモリマップを持たないスレッド(カーネルスレッドを含む)についてもダンプ可能性を評価するため、標準ユーザー権限を持つ攻撃者はこのロジックギャップを悪用できます。カーネルはこれらのエッジケースでCAP_SYS_PTRACE機能を必要とせず、つまり、これを悪用するために昇格された権限は必要ありません。
実世界への影響は深刻です。ssh-keysignからファイルディスクリプタをハイジャックすることにより、攻撃者はホストのSSH秘密鍵への読み取りアクセスを得ます。これにより、なりすまし攻撃とSSHセッションの中間者(MitM)傍受が可能になり、侵害されたキーがローテーションされるまで続きます。
さらに、同じレース条件が/etc/shadowを露出させる可能性があります。これはハッシュ化されたユーザーパスワードを保存するファイルであり、システム上のすべてのアカウントに対するオフラインパスワードクラッキング攻撃への扉を開きます。
概念実証(PoC)エクスプロイトは既にgithub.com/0xdeadbeefnetwork/ssh-keysign-pwnでGitHub上に公開されており、悪用の障壁を大幅に低下させています。
影響を受けるシステム
コミット31e62c2ebbfdより前のすべてのLinuxカーネル(2026年5月14日にマージ)は脆弱です。これはClandestineがプラットフォームXで報告している、Ubuntu、Debian、Arch Linux、CentOS、Raspberry Pi OSを含む多くのメジャーディストリビューションに影響します。
Critical Linux Kernel Vulnerability Alert
Qualys has disclosed ssh-keysign-pwn: a 6-year race condition in __ptrace_may_access() that lets unprivileged local users read root-owned files.
A privileged process (e.g. ssh-keysign or chage) opens sensitive FDs. During do_exit(),…— Clandestine (@akaclandestine) May 15, 2026
OpenSSHユーティリティなどの特権プロセスを実行している修正されていないカーネルを実行しているすべてのシステムがリスク状態にあります。
Linuxカーネルメンテナーは複数の安定ブランチにわたって修正をリリースしており、公式カーネルGitリポジトリでパッチが利用可能です。システム管理者はカーネル更新をすぐに適用すべきです。
パッチの適用が不可能になるまで、ローカルユーザーアクセスを制限し、セキュリティポリシーを介してptraceの権限を監査することは、露出を減らすことができます。
修正は改善されたダンプ可能性ロジックを導入しています:アクティブなメモリマップを持たないスレッドはキャッシュされた「最後のダンプ可能性」値を使用するようになり、この動作をオーバーライドするには明示的なCAP_SYS_PTRACE機能が必要になり、悪用を可能にしたレースウィンドウを閉じます。
翻訳元: https://gbhackers.com/linux-ssh-keysign-pwn-flaw/