30秒で判断
- 対応すべき人: Rust(Cargo)を使用しているすべての開発者。特に SSH 経由でリポジトリアクセスを行うプロジェクト
- 対応不要な人: Rust を使用していないプロジェクト
- 確認コマンド:
rustc --version(現在のバージョン確認)/rustup show(インストール済みツールチェーン確認)
この変更が意味すること
Rust 1.96.1 は、libssh2 に含まれる 3 件の CVE(CVE-2025-15661、CVE-2026-55199、CVE-2026-55200)を Cargo 経由でパッチ適用する重要なセキュリティリリースです。libssh2 は SSH プロトコルを実装する C ライブラリで、Cargo の SSH 機能を支えています。
また、rustc コンパイラの MIR(Mid-level Intermediate Representation)最適化フェーズに存在したミスコンパイルバグも修正されています。このバグは特定の最適化条件下で誤ったバイナリを生成する可能性があり、リリースビルドに影響する問題でした。
rustup update stable を実行するだけで即座に適用できます。Breaking Changes はなく、安全にアップデートできます。
主な変更点
libssh2 への CVE パッチ適用(セキュリティ)
Cargo に組み込まれた libssh2 に対して 3 件の CVE パッチが適用されました。(Cargo PR #17140)
- CVE-2025-15661: libssh2 の脆弱性
- CVE-2026-55199: libssh2 の脆弱性
- CVE-2026-55200: libssh2 の脆弱性
SSH 経由の git リポジトリアクセス(ssh:// または git@github.com:... 形式)を使用する Cargo の依存関係解決に影響する可能性があります。
Cargo のタイムアウト / リトライ挙動修正
ネットワーク操作時のタイムアウトとリトライ動作が修正されました。(Cargo PR #17131)
不安定なネットワーク環境や低速な CI 環境で cargo fetch / cargo build が予期せず失敗するケースが改善される可能性があります。
rustc MIR 最適化のミスコンパイル修正
rustc コンパイラの MIR 最適化フェーズにおけるミスコンパイルが修正されました。(PR #158214)
特定の最適化条件下で誤ったコードが生成される可能性があった問題です。--release ビルドを行うプロダクションプロジェクトでは、このリリースへのアップデートを推奨します。
EOL / サポート状況
Rust は 6 週間ごとにリリースされる rolling release モデルを採用しています。新バージョンがリリースされると、前のバージョンはセキュリティサポート対象から外れます。
| バージョン | ステータス | リリース日 |
|---|---|---|
| 1.96 (1.96.1) | ✅ 現行 | 2026-05-28(1.96.1: 2026-07-05) |
| 1.95 | 旧バージョン | 2026-04-16(EOL: 2026-05-28) |
| 1.94 | ❌ EOL | 2026-03-06(EOL: 2026-04-16) |
| 1.93 | ❌ EOL | 2026-01-22(EOL: 2026-03-06) |
rustup update stable を実行することで、常に最新の stable バージョンに追従できます。
開発者への影響
- すべての Rust 開発者: MIR ミスコンパイル修正の恩恵を受けられます。
--releaseビルドを行うプロジェクトでは特に推奨です - SSH 経由で依存関係を取得するプロジェクト: libssh2 の CVE パッチが適用されるため、セキュリティリスクが低減されます
- CI/CD 環境: Cargo のタイムアウト / リトライ修正により、ネットワーク不安定時のビルド安定性が向上する可能性があります
- 一般的な Rust 開発者: Breaking Changes はなく、
rustup update stableで安全にアップデートできます
アップデート方法
# rustup を使用している場合(推奨)
rustup update stable
# バージョン確認
rustc --version
# rustc 1.96.1 (XXXXXXX 2026-07-05)
# Cargo.toml の edition に影響はありません
# 既存プロジェクトはそのままアップデート可能です
データソース: GitHub Releases API, endoflife.date
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
