
CVE-2026-27944 - Nginx UI 未認証のバックアップダウンロードおよび復号
CVE-2026-27944 - Nginx UI の未認証バックアップダウンロードと復号
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/PoC-Exploit-red
CVE‑2026‑27944 の概念実証 (PoC) エクスプロイトです。Nginx UI ≤ 2.3.2 の深刻な脆弱性で、未認証の攻撃者が /api/backup エンドポイント経由でサーバーの完全なバックアップアーカイブをダウンロードし、復号できます。
バックアップは AES‑256 で暗号化されていますが、暗号鍵と初期化ベクトル (IV) は X‑Backup‑Security HTTP レスポンスヘッダーに平文で露出しているため、即座に復号できます。
📦 機能
🚨 影響
悪用された場合、攻撃者は以下を取得できます:
これは通常、サーバーの完全な侵害とネットワーク内の横移動につながります。
⚙️ 要件
Python 3.6+
requests ライブラリ
pycryptodome (AES 復号用)
依存関係をインストールするには:
bash
pip install requests pycryptodome
🔧 使用方法
text
usage: CVE-2026-27944.py [-h] {info,scan,exploit} ...
CVE-2026-27944 - Nginx UI Backup Exposure Scanner & Exploit
positional arguments:
{info,scan,exploit} Subcommands
info Display detailed information about the CVE
scan Check if a target is vulnerable
exploit Download and decrypt the backup
optional arguments:
-h, --help show this help message and exit
例
bash
python3 CVE-2026-27944.py info
bash
python3 CVE-2026-27944.py scan 192.168.1.100:9000
bash
python3 CVE-2026-27944.py exploit 192.168.1.100:9000 -o backup_decrypted.zip
復号されたファイルは通常 ZIP アーカイブです – .zip にリネームして内容を確認してください。
📚 仕組み
スクリプトは /api/backup に HEAD リクエストを送信し、X‑Backup‑Security ヘッダーの存在を確認します。
存在する場合、GET リクエストで暗号化されたバックアップをダウンロードします。
ヘッダー値には Base64 エンコードされた AES‑256 鍵と IV がコロン区切りで含まれています。
スクリプトはそれらをデコードし、pycryptodome を使用してデータを復号し (AES‑256 CBC モード)、PKCS#7 パディングを削除します。
復号されたバイト列は指定された出力ファイルに保存されます。
⚠️ 免責事項
このツールは教育およびセキュリティ研究目的でのみ提供されています。
所有していない、または明示的なテスト許可を得ていないシステムへの不正なテストは違法です。作者はこのスクリプトの誤用や損害について一切責任を負いません。
🛡️ 対策
Nginx UI を使用している場合は、直ちにバージョン 2.3.3 以降に更新してください。
さらに:
露出した可能性のあるすべての資格情報と秘密情報をローテーションします。
SSL/TLS 証明書を再生成します。
管理インターフェースをパブリックインターネットに公開しないでください – ファイアウォールまたは VPN を使用してください。
📄 ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています – 詳細は LICENSE ファイルを参照してください。
📬 参考文献
MITRE CVE‑2026‑27944 (プレースホルダー)
NVD エントリ (プレースホルダー)
Nginx UI 公式サイト