新たに開示されたLinuxカーネル脆弱性(CVE-2026-46333として追跡)は、SSH秘密鍵およびその他の機密認証情報に深刻なリスクをもたらします。
2016年以来カーネルに存在するこの脆弱性により、ローカル攻撃者は基本的なシェルアカウントから多くの一般的なLinuxディストリビューションへの完全なルートアクセスにエスカレーションできます。
9年間存在するカーネル脆弱性
この問題はLinuxカーネルが1つのプロセスが別のプロセスを検査または「トレース」することを許可されているかどうかを確認する方法(ptraceメカニズムを使用)にあります。特定の条件下では、権限を低下させている途中の特権プロセスは、もはやトレース可能でなくなっているはずですが、短い瞬間でもまだアクセスできます。
攻撃者はこのわずかなタイミングウィンドウとシステムコールpidfd_getfdを利用して、その特権プロセスから開かれているファイルディスクリプタを取得できます。実際には、これは通常ルートにのみ属するファイルと通信チャネルへのアクセスを盗むことができることを意味します。
Qualysの研究者は、このバグがSSHホストキー操作を処理するssh-keysignを含む複数のデフォルトシステムバイナリに対して悪用できることを示しました。このバイナリをターゲットにすることで、脆弱なシステム上のローカルシェルを持つ攻撃者は/etc/ssh/下のSSHホスト秘密鍵ファイルを読むことができます。
これらのホストキーが盗まれた場合、攻撃者は中間者攻撃で影響を受けたサーバーになりすましたり、デプロイされている他の環境でそれらを再利用したりできます。これは問題を「ローカルのみ」のバグからインフラストラクチャ全体にわたるリモート信頼関係に影響を与える可能性があるものに昇格させます。
同じ手法はまた/etc/shadowのパスワードハッシュを公開したり、他の特権バイナリとデーモンを介してルートとしての任意のコマンド実行を許可したりする可能性があります。
この脆弱性はLinuxバージョン4.10-rc1(2016年11月)以来メインラインLinuxに含まれており、幅広いシステムに影響を与えます。QualysはDebian 13、Ubuntu 24.04および26.04、Fedora 43および44のデフォルトインストール(サーバーおよびデスクトップ/ワークステーション両方)でのエクスプロイト経路を確認しました。
これはローカルのみの脆弱性であるため、攻撃者はホストでシェルまたはコード実行を必要とします。ただし、実世界の環境では以下の場合が考えられます:
- SSHアクセス権を持つ詐欺されたデベロッパーアカウント
- 制限されたCI/CDランナーまたはビルドエージェント
- 低権限のサービスアカウント
- 共有またはマルチテナントホスト およびコンテナプラットフォーム上のユーザー
これらの場合、「権限なしアクセス」と「完全なルート侵害」の間のギャップは事実上消滅します。
Linuxカーネル開発者はすでにアップストリーム修正をリリースしており、主要なディストリビューションは更新されたカーネルを提供しています。管理者は以下を行うべきです:
- ディストリビューションから最新のカーネルパッケージをインストールします
- 新しいカーネルが実際に実行されるよう再起動します
- 信頼できないユーザーがアクセスできたシステムではSSHホストキーとローカル認証情報が公開されている可能性があると想定し、それらのキーとパスワードをローテーションします
即座のパッチ適用が不可能な環境では、一時的な軽減策はkernel.yama.ptrace_scope = 2を設定することです。これによりptrace attach操作は管理者のみになり、既知のエクスプロイト経路をブロックします。ただしgdbやstraceなどのデバッグツール、ならびにコンテナとクラッシュレポートのワークフローに影響を与える可能性があります。
CVE-2026-46333は、長期存続するカーネルロジックバグが何年もの間セキュリティを静かに損なわせることができることを思い出させるものです。脆弱性が「ローカルのみ」であっても、最新のマルチテナント設定、デベロッパーアクセス、ptraceのような強力なプリミティブの組み合わせにより、それはフロート全体にわたるリスクとなる重大なものになる可能性があります。
翻訳元: https://gbhackers.com/nine-year-old-kernel-flaw/