OpenSSHは2026年10月6日に公開した10.6とポータブル版10.6p1で、コマンドラインのユーザー名制限と圧縮方式の変更を適用した。公式リリースノートはscp -Rの廃止も予告したが、今回のバージョンでそのコピー機能を停止したわけではない。
同じユーザー名でも指定方法で拒否の有無が変わる
自動化で接続先ユーザー名をコマンドラインに渡している場合、以前は許可された入力が拒否される可能性がある。sshは、バックスラッシュ(\)やドル記号($)を含むコマンドラインのユーザー名を拒否するようになった。
一方、設定ファイルのUserディレクティブで指定した名前は、この制限の対象外だ。あらゆる設定方法でこれらの文字を禁止した変更と捉えると、適用範囲を誤る。
変更の理由は、信頼できないユーザー名がProxyCommandやMatch execなどを通じてシェルコマンドに渡る際のコマンドインジェクションの危険性だ。Userディレクティブの例外は、シェルでユーザー名を扱うあらゆる方法の安全性を保証するものではない。
scp -Rは警告の段階、LZ77圧縮は無効化
scp -Rは、リモートホストでscpを実行してリモートホスト間のコピーを行うオプションだ。10.6でも引き続き動作するが、標準エラーに廃止予告の警告を出力する。
将来のリリースではこのオプションを無視し、コピーを開始したクライアントホストを経由する既定の経路を使う予定だ。変更時期は決まっていない。
OpenSSHが挙げた理由は、リモートホスト側に認証手段が必要なことと、シェルの引用符処理が一貫していないことだ。今回の警告追加と、将来のデータ転送経路の変更は別の段階だ。
圧縮の変更は今回のバージョンから適用される。sshとsshdは、繰り返し現れるデータを見つけて圧縮するLZ77辞書コーダーを無効化する。
リリースノートは、1つのSSH接続内にある複数の論理的な通信経路「チャネル」が圧縮辞書を共有する問題を説明している。攻撃者があるチャネルに選んだ内容を送り込み、暗号化された通信の長さの変化を観察して、別のチャネルの秘密情報を推測できるという。OpenSSHは、この対策で圧縮効果が低下すると説明し、可能な場合はアプリケーション側での圧縮を推奨している。ただし、スループットやCPU使用率の変化を実測した結果は示していない。
一部のプラットフォームには転送の制限も適用される。プロセス間で開いているファイルへの参照を受け渡すファイルディスクリプター渡しに対応せず、仮想端末(PTY)の割り当てにroot権限が必要な場合だ。
この条件では、認証後のsshd-sessionがroot権限を保持し、ログインユーザーに適用される制御を回避できる。そのため、ポート転送やローカルソケット転送に関わるオプションのGatewayPortsとStreamLocalForwardingが強制的に無効化される。
リリースノートは、QNX 6、SCO OpenServer 5、過去に--disable-fd-passingで作成したビルドなどを影響対象に挙げている。ただし、10.6ではこのビルド設定オプション自体も削除された。すべてのサーバーに適用される制限ではなく、代替策が見つからない場合の将来的なプラットフォームサポート終了にも確定した日程はない。
これらの変更は公式リリースノートに基づくものであり、実際にアップグレードした結果や性能を再現した結果ではない。圧縮効果の低下だけを根拠に、すべての処理でスループットが低下したりCPU使用率が上昇したりすると結論づけることはできない。
OpenSSHはすでに、信頼できるトラフィックと信頼できないトラフィックが混在する接続では圧縮を推奨していなかった。説明された攻撃条件をすべての圧縮セッションにそのまま当てはめるのも、範囲を広げた解釈だ。
ディストリビューションごとのパッケージ提供状況とパッチの反映状況は、別途確認が必要だ。今回の発表だけでは、一律のアップグレード期限や実運用環境への影響を判断できない。
アップグレード前の確認対象は自動化の入力と経路
確認範囲は、自動化が実際に使っている機能から絞り込める。接続先ユーザー名を生成する箇所で、$や\を含むか、コマンドラインで渡すかを併せて確認すると、今回の入力制限の影響を切り分けられる。
コピー処理では、scp -Rの使用有無と、標準エラーの警告をどう扱うかが確認対象になる。警告を失敗と扱う自動化では、コピー機能が維持されていても影響が生じる可能性がある。
SSH圧縮に依存する処理は、実際のデータと接続条件で影響を確認する対象だ。該当する旧式サーバーでは、ビルドがファイルディスクリプター渡しに対応するかと、PTY割り当てに必要な権限を併せて確認する必要がある。
これは変更の影響範囲を特定するための確認案であり、実施した実験や観測した出力ではない。
今後の注目点は、scp -Rの警告が実際の経路変更に移る時期と、圧縮の変更が個々の処理に与える影響だ。現時点では、SSH全体の互換性を疑うよりも、入力の渡し方と利用機能に基づいて確認範囲を定めるのが妥当だ。
OpenSSH 10.6の自動化の点検は、すでに適用されたユーザー名・圧縮の変更と、まだ警告段階にあるscp -Rの経路変更を区別するところから始まる。
