
CVE-2026-1357
800%2C000-brightgreen?style=for-the-badge" alt="Installs">
800,000~900,000개 이상의 WordPress 사이트에 영향을 미치는 치명적인 결함
인증되지 않은 임의 PHP 업로드 → 서버 전체 장악
CVE-2026-1357 (CVSS 9.8 – 치명적)은 Migration, Backup, Staging – WPvivid Backup & Migration 플러그인(≤ 0.9.123)에 영향을 미칩니다.
이 취약점은 플러그인의 선택 기능인 "다른 사이트에서 백업 받기" 기능(wpvivid_action=send_to_site)에 존재합니다. 이 기능이 활성화되면 인증되지 않은 공격자가 임의 파일 — 가장 위험한 것은 PHP 웹셸 — 을 /wp-content/uploads/와 같은 웹에서 접근 가능한 위치에 업로드할 수 있습니다.
→ 공격자는 null 키로 암호화된 페이로드를 제작 → "인증" 우회 → 쓰기 가능한 모든 위치에 .php 파일 작성
www-data) 권한으로 인증되지 않은 원격 코드 실행참고: 악용하려면 "백업 받기" 기능이 활성화(기본값 아님)되어 있어야 하며 유효하고 만료되지 않은 API 토큰(최대 24시간 유효)이 필요합니다.
| 날짜 | 이벤트 |
|---|
즉시 조치
WPvivid Backup & Migration ≥ 0.9.124로 업그레이드 (수정 사항: 적절한 복호화 실패 처리, 파일명 검증, 파일 유형 제한).
임시 대응 방안 (업그레이드가 지연되는 경우):
action=wpvivid_send_to_site가 포함된 /wp-admin/admin-ajax.php POST 차단 (WAF / .htaccess 사용)사고 후 점검
/wp-content/uploads/(및 기타 쓰기 가능한 디렉터리)에서 의심스러운 .php 파일 검색admin-ajax.php로의 비정상적인 POST 요청이 있는지 액세스 로그 검토일반 모범 사례
Wordfence 권고 (상세 공개 정보)
Nuclei 템플릿: projectdiscovery/nuclei-templates에 공식 포함 (v10.4.0 추가)
빠르게 패치 • 자주 패치 • 안전 유지
| # | 문제 유형 | 구성 요소 | 설명 |
|---|
| 1 | 암호화 Fail-Open | class-wpvivid-crypt.php | openssl_private_decrypt() 실패 시 false 반환 → phpseclib AES가 이를 모두 null 바이트 키(예측 가능한 16×0x00)로 처리 |
| 2 | 경로 탐색 / 검증 부재 | class-wpvivid-send-to-site.php | 복호화된 페이로드의 파일명이 검증 없이 사용됨 → ../ 탐색으로 백업 디렉터리를 벗어나 웹 루트에 도달 |
| 2026년 1월 12일 | Lucas Montes (NiRoX)가 Wordfence에 보고 |
| 2026년 1월 28일 | 공급업체가 수정 버전 0.9.124 출시 |
| 2026년 2월 11일 | CVE 공식 게시 (NVD) |
| 2026년 2월 | 공개 PoC 및 악용 스크립트 등장 (GitHub, 블로그) |
| 2026년 3월 | 공식 저장소에 Nuclei 템플릿 추가 (v10.4.0); 높은 EPSS 점수 |