
WordPress WAWP(Automation Web Platform) ≤ 4.8.6에서 공개 REST 가입 및 정제되지 않은 wawp_custom_fields를 통한 비인증 권한 상승 → admin. Python 점검/익스플로잇 PoC (PoCbit).
WordPress 플러그인 Automation Web Platform(automation-web-platform — WAWP / Notifications & OTP for WooCommerce)의 **CVE-2026-14281**에 대한 Python 3 PoC입니다.
**PoCbit**에 등록됨 — 커뮤니티 카탈로그: https://pocbit.org/pocs/
PoC를 실행하면 PoCbit 헤더가 출력되며, JSONL 라인에는 pocbit, pocbit_catalog, pocbit_page가 포함됩니다.
| 플랫폼 | WordPress 플러그인 |
| 구성 요소 | Automation Web Platform (WAWP) |
| 영향 받는 버전 | ≤ 4.8.6 |
| 수정된 버전 | > 4.8.6 (최신 안정 버전으로 업그레이드) |
| CVSS 3.1 | 9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| 인증 | 인증 불필요 |
| 공격 벡터 | 공개 REST POST /wp-json/wawp/v1/signup/signup |
회원가입 REST 핸들러(public_permissions_check)는 **wawp_custom_fields**를 허용하고 이를 **custom_fields_data**로 매핑하며, wp_insert_user() 이후 허용 목록 없이 **update_user_meta()**로 각 키를 기록합니다. 공격자는 **wp_capabilities**와 **wp_user_level**을 설정하여 관리자 권한을 획득할 수 있습니다.
관련 코드(4.8.6): includes/api/class-wawp-rest-settings-api.php (/signup/(?P<op>…)), includes/auth-services/class-wawp-otp-service.php (wawp_custom_fields → custom_fields_data), includes/auth-services/class-wawp-signup.php (finish_registration_logic).
회원가입 OTP가 활성화된 경우, 첫 번째 signup 호출은 otp_verify(챌린지 전송됨)에서 중단될 수 있으며, 등록은 OTP 이후에만 완료됩니다 — 완전한 비인증 관리자 권한 상승 체인은 OTP가 비활성화되어 있거나 별도의 OTP 우회가 필요할 수 있습니다. 이 경우 PoC는 **otp_required**를 보고합니다.
pip install -r requirements.txt
Python 3.8+.
# Version + REST surface + optional live signup probe (creates a throwaway user if OTP off)
python poc.py -u https://target.example --mode check
# Register admin-capable user (authorized targets only)
python poc.py -u https://target.example --mode exploit --verify
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 20 --quiet
# JSON to stdout (single target)
python poc.py -u https://target.example --mode check 2>nul
| 파일 | 의미 |
|---|---|
cve_2026_14281_results.jsonl | 대상별 전체 JSON |
hits.txt | 후보 호스트(check) 또는 url|email|password(exploit) |
candidates.jsonl | check 모드 요약 |
body="/wp-content/plugins/automation-web-platform/"
body="/wp-json/wawp/"
본인이 소유하거나 명시적인 테스트 허가를 받은 시스템에서만 사용하십시오.
| 상태 | 의미 |
|---|
exploit_confirmed_probe | 프로브 회원가입 완료(OTP 꺼짐); 메타 주입 경로 활성 |
vulnerable_otp_blocks_signup | 플러그인/버전 + REST 정상; OTP 단계가 일회성 회원가입을 차단 |
vulnerable_rest_signup | 취약한 버전; REST 접근 가능(프로브 결과 불확정) |
patched | 버전 > 4.8.6 |
no_plugin | 플러그인 미탐지 |