
libssh2における深刻な事前認証の領域外書き込み脆弱性(リモートコード実行に至る)の詳細な分析。根本原因、検出方法、緩和ガイダンスを含む。
| フィールド | 詳細 |
|---|
| CVE | CVE-2026-55200 |
| CVSS | 9.2 重大 |
| タイプ | 境界外書き込み |
| コンポーネント | libssh2 |
| 影響を受けるバージョン | <= 1.11.1 |
| 攻撃ベクトル | ネットワーク |
| 必要な権限 | 不要 |
| ユーザー操作 | 不要 |
| 影響 | リモートコード実行 (RCE), サービス拒否 (DoS) |
| 修正バージョン | コミット 97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 |
| 開示日 | 2026年6月 |
CVE-2026-55200 は、広く利用されている libssh2 ライブラリに影響を与える重大なメモリ破損脆弱性です。
この欠陥は、SSH トランスポート層のパケット処理ロジック内に存在します:
ssh2_transport_read()
この関数は、受信した以下のフィールドを適切に検証できません:
packet_length
パケットデータの割り当てと処理前に。
リモートの攻撃者は、過度に長い長さの値を含む特別に細工された SSH パケットを送信し、以下を引き起こす可能性があります:
この脆弱性は SSH トランスポートパケット処理中にトリガーされるため、認証前に悪用される可能性があり、問題の深刻度が大幅に高まります。
簡略化された脆弱なフロー:
packet_length = read_packet_length();
buffer = malloc(packet_length);
memcpy(buffer, incoming_data, packet_length);
もし packet_length が攻撃者によって制御され、期待される境界を超える場合:
Attacker
│
▼
Crafted SSH Packet
│
▼
Oversized packet_length
│
▼
Heap Corruption
│
┌──┴──┐
▼ ▼
DoS Potential RCE
| コンポーネント | 影響を受けるバージョン |
|---|---|
| libssh2 | <= 1.11.1 |
libssh2 を組み込んだアプリケーションはすべて脆弱である可能性があり、以下が含まれます:
注意: OpenSSH 自体は libssh2 を使用しておらず、直接影響を受けません。
| 要件 | 値 |
|---|---|
| ネットワークアクセス | 必要 |
| 認証 | 不要 |
| ユーザー操作 | 不要 |
| 攻撃の複雑さ | 低 |
| リモート攻撃 | はい |
セキュリティチームは以下を監視すべきです:
ssh2_transport_read() を含むコアダンプpkg-config --modversion libssh2
dpkg -l | grep libssh2
apt-cache policy libssh2-1
rpm -qa | grep libssh2
dnf info libssh2
apk info | grep libssh2
ldconfig -p | grep libssh2
find /usr -type f -executable -exec ldd {} \; 2>/dev/null | grep libssh2
以下を含むバージョンにアップグレード:
97acf3dfda80c91c3a8c9f2372546301d4a1a7a8
sudo apt update
sudo apt upgrade libssh2-1
sudo reboot
sudo dnf update libssh2
sudo reboot
sudo dnf upgrade --refresh libssh2
sudo reboot
apk update
apk upgrade libssh2
パッチが利用可能になるまで:
sudo ufw allow from TRUSTED_IP to any port 22
sudo ufw deny 22
iptables -A INPUT -p tcp --dport 22 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_IP" port protocol="tcp" port="22" accept'
firewall-cmd --reload
アプリケーションを以下のオプションでコンパイル:
-fstack-protector-strong
-D_FORTIFY_SOURCE=2
-fPIE
-pie
-Wl,-z,relro,-z,now
有効化:
✓ ASLR
✓ スタックカナリア
✓ RELRO
✓ NX
✓ PIE
✓ 最新のセキュリティパッチ
信頼できないワークロードに対して:
docker run \
--read-only \
--cap-drop=ALL \
--security-opt no-new-privileges
追加の推奨事項:
展開:
| カテゴリ | 評価 |
|---|---|
| 悪用可能性 | 高い |
| 複雑さ | 低い |
| 認証 | 不要 |
| リモート攻撃 | はい |
| サプライチェーンリスク | 高い |
| インターネット露出 | 高い |
| 日付 | イベント |
|---|---|
| 2026年6月 | 脆弱性が公開開示 |
| 2026年6月 | セキュリティアドバイザリ公開 |
| 2026年6月 | 修正コミット公開 |
| 2026年6月以降 | ベンダーパッチの出荷開始 |
いいえ。OpenSSH は内部で libssh2 を使用していません。
はい。この脆弱性は認証前にトリガーされる可能性があります。
悪用の成功は以下に依存します:
ただし、このクラスのメモリ破損脆弱性は歴史的に極めて危険であると考えられています。
公開時点では、活発な悪用の公に確認された報告はありません。
このリポジトリは教育および防御的なセキュリティ目的のみを意図しています。
所有していない、または明示的な書面によるテスト許可を得ていないシステムで、このリポジトリの情報やコードを使用しないでください。
早期にパッチを適用 • 依存関係を監査 • サプライチェーンを保護 🛡️
サイバーセキュリティ • 脆弱性研究 • 脅威インテリジェンス