OpenSSH の新バージョン 10.3 がリリース:ProxyJump のシェル・インジェクションの脆弱性などを修正

OpenSSH 10.3 Fixes Shell Injection and Multiple SSH Security Issues

2026/04/02 CyberSecurityNews — 2026年4月2日に OpenSSH プロジェクトは、バージョン 10.3/ 10.3p1 を公開した。このバージョンには、シェル・インジェクションの脆弱性に対する修正と、複数のセキュリティ強化のための変更が含まれている。それに加えて、アップグレード前に管理者が確認すべき注意事項が提供されている。


最も注目すべき脆弱性は、-J (ProxyJump) コマンドライン・オプションにおけるシェル・インジェクションの欠陥である。これまでのバージョンには、-J または -oProxyJump=”…” により渡されるユーザー名/ホスト名が検証されないという欠陥がある。したがって、攻撃者が制御する悪意の入力値が取り込まれると、シェル・インジェクションが発生する可能性がある。

この脆弱性は “rabbit” と名乗る研究者により報告された。それに対して OpenSSH 開発者は、信頼できない入力を一連のオプションへ渡すことは不適切だと指摘していたが、今回の修正により、悪意の値や不正な形式の値が検証段階で拒否されるようになった。ただし、この検証はコマンドラインでの使用時だけに適用されるものであり、コンフィグ・ファイル内の設定値は無視されるという、重要な制約が残っている。

sshd における証明書処理の挙動についても、潜在的に危険性のある動作が修正された。従来、”principals” セクションが空である SSH 証明書はワイルドカードとして扱われ、”authorized_keys” で発行元の CA を信頼しているユーザーであれば、誰もが認証できる状態にあった。この動作は設計上の仕様であったが、”principals” が未定義の証明書が誤発行された場合に、広範な不正アクセスを許すケースが起こり得る。

OpenSSH 10.3 リリース

OpenSSH 10.3 においては、”principals” セクションが空の場合は、いかなるプリンシパルとも一致しないという仕様へ変更され、意図しないワイルドカード化によるリスクが排除された。さらに、証明書におけるワイルドカード文字の扱いが明確化され、ホスト証明書では一貫してサポートされる一方で、ユーザー証明書では明示的にサポートされない仕様となった。これにより、より明確で予測可能なアクセス制御が実現される。

また、このバージョンでは、トランスポート層における再鍵交換 (rekey) に対応していない、旧来の SSH 実装との下位互換性が廃止された。再鍵交換に対応しないレガシーな SSH クライアント/サーバは、再鍵交換が必要となった時点で OpenSSH との通信に失敗する。この変更により、プロトコル準拠が強化され、長時間セッションにおけるセキュリティ保証を弱体化する経路が排除された。

SSH インフラを運用するセキュリティ・チームは、このアップデートを優先的に適用する必要がある。特に、ProxyJump オプションをプログラム的に生成する環境や、ユーザー入力に依存する環境において、重要なアップデートである。また、証明書のプリンシパル挙動の変更に伴い、既存の CA 発行証明書におけるプリンシパル・フィールドが、空になっていないことを確認する必要がある。

安全なリモート・アクセス基盤の中核である OpenSSH 10.3 は、”openssh.com” に掲載されている公式ミラーから入手できる。このリリースが示すのは、潜在的に深刻な影響を及ぼす、セキュリティ欠陥の解消に向けた継続的な改善である。