nginx-ui バックアップ復元セキュリティ欠陥に対するPoC エクスプロイトコードが公開

nginx-ui バックアップ復元メカニズムの重大なセキュリティ欠陥(CVE-2026-33026として追跡)により、攻撃者は暗号化されたバックアップを操作し、任意のコマンドを実行できます。

概念実証(PoC)エクスプロイトコードが公開されており、管理者がバージョン2.3.4に緊急にアップデートする必要があります。

バックアップ整合性バイパス欠陥

この脆弱性は、バックアップ形式が安全な整合性ルートを欠いている循環的な信頼モデルに起因しています。

cipher = AES.new(key, AES.MODE_CBC, iv)
decrypted = cipher.decrypt(encrypted_data)
return unpad(decrypted, AES.block_size)
with zipfile.ZipFile(file_path, 'r') as main_zip:
    main_zip.extractall(output_dir)
files_to_decrypt = ["hash_info.txt", "nginx-ui.zip", "nginx.zip"]
for filename in files_to_decrypt:
    path = os.path.join(output_dir, filename)
    if os.path.exists(path):
        with open(path, "rb") as f:
            encrypted = f.read()
        decrypted = decrypt_aes_cbc(encrypted, key_b64, iv_b64)
        out_path = path + ".decrypted"
        with open(out_path, "wb") as f:
            f.write(decrypted)
        print(f"[*] Successfully decrypted: {out_path}")

アプリケーションは、AES暗号化キーと初期化ベクトル(IV)をセキュリティトークンとしてクライアントに直接提供し、データと整合性メタデータの両方を暗号化します。これはセキュリティ研究者0xJackyによって報告されました

攻撃者はこのトークンを使用してアーカイブを復号化し、設定ファイルを変更し、SHA-256ハッシュを更新し、復元用にバンドルを再暗号化できます。

Image

復元プロセスが攻撃者によって生成された変更された整合性メタデータを受け入れるため、悪意のある設定がサーバー環境にシームレスに適用されます。

この操作により、脅威行為者はバックドアを挿入する能力を獲得し、ホストマシン上で任意のコマンド実行を達成できます。

このエクスプロイトはハッシュの不一致に関わらずサイレントに動作し、nginx-uiデプロイメントの完全な漏洩につながる可能性があります。

Image

管理者はインフラストラクチャを保護するため、nginx-uiインストールを直ちにパッチ済みバージョン2.3.4にアップグレードする必要があります。

開発者は、クライアント公開トークンではなく、サーバー側の秘密鍵を使用してバックアップメタデータに署名するなど、信頼できる整合性ルートを導入することをお勧めします。

さらに、復元プロセス中に厳格なサーバー側の整合性検証を実施することで、攻撃者制御データが完全に処理されるのを防ぐことができます。

翻訳元: https://gbhackers.com/poc-exploit-code-published-for-nginx-ui/

ソース: gbhackers.com