GitHub Advisory Databaseに、russhの認証検証とメモリ消費に関する脆弱性2件が掲載されました。認証方式の制限や監査記録に影響する問題と、SSH鍵エージェントが停止し得る問題で、確認する利用条件が異なります。掲載日は今回の資料では確認できません。
認証方式の指定と実際の署名が食い違う
認証検証の脆弱性「CVE-2026-111062」は、公開鍵認証で要求された署名アルゴリズムと、実際に使われた署名方式を照合していない問題です。署名アルゴリズムとは、本人確認に使う電子署名の方式です。
掲載情報によると、rsa-sha2-512を指定した要求でも、SHA-1を使うssh-rsaの署名を受理します。このため、SHA-1署名を拒否する運用に影響します。実際にはSHA-1署名で認証した接続が、rsa-sha2-512として記録される可能性もあります。認証ログの記録だけでは、指定どおりの方式が使われたと判断できません。
ただし、秘密鍵による有効な署名は引き続き必要です。有効なRSA鍵の保有者がSHA-1署名を受理させられる問題であり、鍵を持たない第三者がそのまま認証を突破できるという内容ではありません。
対象は、russhの0.34.0-beta.1から0.63.3までの全リリースと、調査時の開発ブランチmainです。russhをSSHサーバーとして使うアプリが対象で、クライアントは対象外です。検証はRSA鍵で行われ、他の鍵種別は未検証とされています。
エージェント転送先からメモリを消費させる恐れ
メモリ消費の脆弱性「CVE-2026-111061」は、SSH鍵を扱うエージェントの処理に関するものです。鍵の有効期間指定ごとに専用の処理タスクを作り、鍵データを複製しますが、要求ごとのタスク数に上限がありません。要求に失敗しても生成済みのタスクは残り、指定された有効期間に従って最長約136年間待機します。
掲載された検証では、10.2 MiBの通信でメモリ使用量が1,447,856 KiB増加しました。通信量に対するメモリ消費の増幅率は約141倍です。メモリやタスク容量を使い果たすことで、エージェントが停止し得ます。
攻撃元になり得るのは、エージェントとの通信用ソケットにアクセスできるローカルプロセスです。エージェント転送を有効にして接続したリモートSSHサーバーも含まれます。接続先から手元の鍵を使った認証を利用する、エージェント転送の設定も確認対象です。この欠陥による機密性と完全性への影響はないとされています。
メモリ消費の欠陥はHEAD efa9a03(v0.63.3-10)で検証されています。ただし、影響するバージョンの全範囲は資料本文に明記されていません。
メモリ消費の資料はv0.64.1、認証検証の資料はv0.64.0のリリースを参照しており、それぞれコミットへの参照もあります。これらを参照していることだけで適用すべき修正版を断定せず、修正内容と適用対象を参照先で確認してください。修正時期は資料本文では確認できません。日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: 対象バージョンのrusshをSSHサーバーとして使うアプリがある会社です。RSA鍵を使い、SHA-1署名の拒否や認証方式の監査を行っている場合は、その運用への影響を確認する必要があります。
- 影響する: russhのSSH鍵エージェントを使い、ローカルプロセスからソケットにアクセスできる環境や、エージェント転送を有効にした接続がある会社です。メモリ消費の欠陥について、利用版が対象となるかを別途確認してください。
- 影響しない: russhをクライアントとしてのみ使うアプリは、認証検証の欠陥の対象外です。ただし、この条件だけでメモリ消費の欠陥も対象外とは判断できません。
RSA以外の鍵種別は未検証です。また、メモリ消費の欠陥を受けない版の全範囲は、発表には書かれていません。不明な条件を対象外として扱わないことが必要です。
情シスが今日やること
- 社内のソフトウェア台帳と各アプリの依存ライブラリ一覧で、russhの有無とバージョンを確認します。開発担当や委託先には、SSHサーバー、クライアント、鍵エージェントのどの用途かも回答してもらいます。
- サーバー用途がある場合は、認証設定でRSA鍵の利用とSHA-1署名の拒否方針を確認します。ログ監査の担当者には、記録上のrsa-sha2-512と実際の署名方式が一致しない可能性を共有します。
- 鍵エージェントの利用環境では、接続設定のエージェント転送の有無と接続先を確認します。次回の接続前に、転送が必要かを運用担当者と見直し、ソケットにアクセスできるプロセスの範囲も確認します。
- GitHub Advisory Databaseの2件から、各リリースとコミットの参照先を確認します。開発担当や委託先に、自社の利用版への適用可否と対応方針を確認し、更新作業を決める前に回答を得ます。未確認の項目には担当者と次回確認日を設定してください。