nginx-ui の脆弱性 CVE-2026-33026 が FIX:PoC エクスプロイト・コードも登場

PoC Exploit Code Published for nginx-ui Backup Restore Security Flaw

2026/04/01 gbhackers — nginx-ui のバックアップ復元メカニズムに存在する、深刻なセキュリティ欠陥 CVE-2026-33026 (CVSS:9.4) を悪用する攻撃者は、暗号化バックアップの改竄と任意のコマンド実行を可能にし得る。すでに Proof-of-Concept (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) をセキュリティ・トークンとしてクライアントへ直接提供する。このトークンは、データおよび整合性メタデータの暗号化に使用される (Security Researcher 0xJacky による報告)。

このトークンを悪用する攻撃者は、アーカイブの復号/コンフィグ・ファイルの改竄/SHA-256 ハッシュの更新により、再暗号化したバックアップの生成が可能となる。

Generate a backup and extract the security token (Source: Github)
Generate a backup and extract the security token (Source: Github)

この復元プロセスが、攻撃者が生成した整合性メタデータを受け入れるため、悪意のコンフィグが、そのままサーバ環境に適用されてしまう。

この操作により、脅威アクターはバックドアの挿入や、ホスト上での任意のコマンド実行が可能となる。

このエクスプロイトは、ハッシュ不一致に関係なく静かに動作し、nginx-ui デプロイメントの完全な侵害を引き起こす可能性がある。

The system accepts the modified backup (Source: Github)
The system accepts the modified backup (Source: Github)

管理者にとって必要なことは、nginx-ui を修正済みバージョン 2.3.4 へと直ちにアップグレードし、インフラを保護することである。

その一方で開発者は、クライアントの公開トークンではなく、サーバ側の秘密鍵によるバックアップ・メタデータ署名などの、信頼された整合性ルートを導入する必要がある。さらに、復元処理において厳格なサーバ側での整合性検証を実施し、攻撃者が制御するデータの処理を完全に防止することが求められる。