目次(5)

CVE-2026-116794
CVE-2026-116774
CVE-2026-116773
CVE-2026-116696
Rust 製の SSH ライブラリ russh に、2026 年 10 月 30 日(UTC)に 4 件の脆弱性が公開されました。いずれも 0.65 で修正されています(0.65.0 は 10/25 公開)。最も重いのは、SSH エージェントが ssh-add -c で付けた「署名のたびに確認する」設定を守らない CVE-2026-116794 で、GitHub Advisory の重大度は High です。CISA の KEV には載っていません。EPSS は 4 件とも 0.3% 以下です(10/30 時点)。
4 件の内容
| CVE | 重大度(GitHub) | 内容 | 影響する版 |
|---|---|---|---|
| CVE-2026-116794 | High(CVSS v4 8.3、v3 は未設定) | エージェントサーバーが、確認つきで登録された鍵を確認なしで署名に使う(CWE-862) | 0.50.0-beta.12 〜 0.64.1 |
| CVE-2026-116774 | Medium(CVSS 4.3) | 相手が最大パケットサイズを 0 と申告すると、チャネルへの書き込みが止まったままになる | 0.60.0 〜 0.64.1 |
| CVE-2026-116773 | Medium(CVSS 4.3) | クライアントが EXT_INFO パケットを数の制限なく保存し、サーバー側から送り続けられるとメモリが増え続ける | 0.65 未満 |
| CVE-2026-116696 | Low(CVSS 3.3) | エージェントサーバーが、確認の指定(CONSTRAIN_CONFIRM)を何件でも受け付け、メモリが解放されない | 0.65.0 未満 |
CVE-2026-116794: 確認の設定が無視される
- russh でエージェントを作ると、
Agent::confirmで「この鍵で署名してよいか」を利用者に尋ねる処理を書けます。ところが 0.50.0-beta.12 以降は、その処理が呼ばれず、常に「許可」として扱われます。勧告は、52 版すべて(0.64.1 まで)で同じ状態だったと書いています。 ssh-add -cは成功と表示されるので、利用者は守られていると思い込みます。実際には、エージェントに接続できる相手(同じ利用者の他のプロセス、ssh -Aで転送した先のホスト)が、確認なしで鍵を使えます。- 秘密鍵そのものは取り出されません。影響は、他のホストへのログインや git コミットの署名など、鍵を使わせてしまうことです。
- 影響を受けるのは、russh でエージェントを作り、
Agent::confirmを実装している製品です。既定のconfirm(常に許可)のままなら、挙動は変わりません。勧告は、下流の例として Proton Pass のデスクトップ版(russh 0.62.7 を使用)を挙げています。ただし、勧告は「公開されているコードからの判断で、動作は試していない」としています。 - 修正(0.65)で
confirmが再び呼ばれます。confirmを未実装のまま置いている製品は、更新後にそこで止まる可能性があります。
他の 3 件
- CVE-2026-116774: 通信相手がチャネルを開くときに最大パケットサイズ 0 を申告すると、
AsyncWrite経由の書き込み(Channel::data()、make_writer()、into_stream())が完了もエラーもせず止まります。その書き込みを待つタスクが止まる問題で、サーバーを攻撃する場合もクライアントを攻撃する場合もあります。認証後の接続(権限 低)が前提の評価です。 - CVE-2026-116773: 認証前の段階で、サーバーが EXT_INFO パケットを送り続けると、クライアントの記憶領域が増え続けます。勧告の計測では、約 26 KB のパケット 400 個で 49.1 MiB が残りました。利用者がサーバーに接続する操作が必要です。
- CVE-2026-116696: エージェントのソケットに接続できる相手が、確認の指定を大量に含む鍵の追加を繰り返すと、メモリが増え続けます。勧告の計測では、256 KiB の要求 6 回で 72.4 MiB が残りました。ローカルで接続できる相手が前提です。
対応
- russh を 0.65 以降に更新してください(
cargo update -p russh、またはCargo.tomlでrussh = "0.65"以上)。cargo tree -i russhで、依存の中にある古い版も探せます。 - CVE-2026-116794 は、更新までの間、確認つき登録(
ssh-add -c)に頼らず、エージェントの転送(ssh -A)を必要なときだけにするなどで、鍵を使える相手を減らします。 - 0.65.0 は破壊的変更を含みます(
Handler::auth_publickey_offered・auth_publickeyの引数が変わり、async-trait依存が削除されました)。更新時に自分のコードの修正が必要です。
確認できていない点
- 勧告に、実際の攻撃が確認された記載はありません。KEV にも載っていません。
- CVE-2026-116794 の CVSS v3 は勧告に設定がなく、上の 8.3 は v4 の値です。
- 4 件とも NVD の評価は、この記事の時点で未確認です。数値は GitHub Advisory の値です。
- Proton Pass が実際に影響を受けるか、修正版が出ているかは確認していません。
この記事について
- 執筆・編集
- World Security 編集部
出典
- GitHub Advisory GHSA-vp5q-ff62-jwqv(GitHub)
- GitHub Advisory GHSA-fw5c-8223-6h42(GitHub)
- GitHub Advisory GHSA-4p9f-7p9m-5vfg(GitHub)
- GitHub Advisory GHSA-9wfm-jcj8-jfv9(GitHub)
- russh 0.65.0 リリース(russh)
- NVD CVE-2026-116794(NIST NVD)
- FIRST EPSS API(FIRST)
- CISA Known Exploited Vulnerabilities Catalog(JSON)(CISA)



