[공격] 분석 — CVE-2026-15748
The Forminator Forms plugin up to 1.56.1 allows unauthenticated arbitrary file upload via a bypassable MIME‑type blocklist, enabling remote code execution and requires immediate remediation.
📋 요약
- 심각도 critical · CVSS 9.8 · EPSS 미확보 · 악용난이도 easy
🔍 공격 기법
-
공격 표면
- 공개된 파일 업로드 엔드포인트 (
admin‑ajax.php?action=forminator_handle_file_upload등)와file,field_key,select_field파라미터가 노출됨. - 플러그인 버전 확인은 워드프레스 페이지 소스 또는
/wp-content/plugins/forminator/경로 탐색으로 가능.
- 공개된 파일 업로드 엔드포인트 (
-
정찰 단계
WP‑Plugin‑InfoAPI 혹은 공개된 changelog에서 “Forminator Forms ≤ 1.56.1” 여부를 확인.- 업로드 폼 HTML을 수집해
select필드에 조작 가능한 값이 포함돼 있는지 파악.
-
초기 접근
- multipart/form‑data 요청을 전송,
select_field값을 임의의 문자열(예:image|application/octet-stream)으로 위조. - 파일 이름은
.php, MIME 타입은 블록리스트에 없는 대체 키(application/x-php) 혹은 파이프(image|application/php) 형태로 지정해 차단을 회피.
- multipart/form‑data 요청을 전송,
-
실행·권한 획득
- 서버가 업로드된 파일을 웹 루트(예:
/wp-content/uploads/forminator/)에 저장하면, 해당 URL을 직접 호출하여 PHP 코드 실행. - CVSS 벡터
AV:N/AC:L/PR:N/UI:N와 일치해 네트워크만으로 저복잡도 공격이 가능함.
- 서버가 업로드된 파일을 웹 루트(예:
-
지속
- 업로드된 웹쉘을 이용해 워드프레스 관리자 계정 생성, 플러그인 파일 교체 또는
.htaccess삽입 등 영구적인 백도어를 설치.
- 업로드된 웹쉘을 이용해 워드프레스 관리자 계정 생성, 플러그인 파일 교체 또는
-
영향
- 원격 코드 실행 → 전체 사이트 장악, 데이터 탈취·변조, 추가 악성코드 배포가 가능.
교차검증: 다중 소스에서 동일한 취약점 설명이 확인돼(신뢰도 1.0) “다중 소스에서 일관성이 확인됐다”는 점을 강조합니다.
EPSS: 현재 EPSS 값은 제공되지 않아(미확보) 실측 악용 예측에 의존하지 않음. 그러나exploit=easy등급과 CVSS 9.8이 결합돼 위험도가 매우 높습니다.
우선순위 결정: “CVSS 9.8·non‑KEV·EPSS 미확보·exploit easy” 규칙에 따라 immediate(24시간 이내) 대응이 권고됩니다.
악용 가능성: CVSS 벡터 AV:N/AC:L/PR:N/UI:N는 공격자가 인터넷을 통해 네트워크 접근만으로, 복잡한 사전 작업 없이 인증·사용자 조작 없이도 취약점을 이용할 수 있음을 의미합니다. Forminator 플러그인의 파일 업로드 엔드포인트(예: /wp-admin/admin-ajax.php?action=forminator_handle_file_upload)가 외부에 공개되어 있어 POST 요청만으로 접근이 가능합니다. 공격자는 멀티파트 요청에 MIME 타입을 image/png|application/x-php와 같이 파이프‑대체 형태로 지정하고, 조작된 Select 필드 값을 삽입하면 차단 리스트를 우회해 위험 확장자를 가진 파일을 업로드할 수 있습니다. 이 과정에 인증이나 사용자 상호작용이 전혀 필요하지 않으므로 자동화가 가능하며, EPSS 데이터가 존재하지 않고 KEV에도 등재되지 않았지만 실제 공격이 구현될 가능성은 매우 높습니다. 유사한 WordPress 플러그인 파일 업로드 취약점에서 원격 코드 실행 사례가 다수 보고된 점을 고려하면, 이 취약점 역시 실전 위협으로 간주됩니다. 성공적인 업로드 후 웹쉘이 wp‑content/uploads 디렉터리에 저장되면 공격자는 임의 명령 실행·지속성을 확보할 수 있습니다. 따라서 노출되는 공격
💥 영향 분석
- 공격자가 임의의 PHP 파일을 업로드하면 웹 서버에서 바로 실행돼 워드프레스 전체를 장악할 수 있습니다.
- 데이터베이스 접근, 관리자 계정 탈취, 추가 악성 플러그인 설치 등이 연쇄적으로 발생합니다.
🔗 관련 취약점·체이닝
- 파일 업로드 우회 패턴(CWE‑434) → 웹쉘 배포 → 권한 상승(예: 잘못된 파일 권한,
wp-config.php노출) → 원격 코드 실행. - 추정: 동일 플러그인 내 다른 입력 검증 결함(CWE‑20)과 연계될 경우, CSRF 토큰 우회와 결합해 인증이 필요한 관리 작업까지 확장 가능.
🔎 탐지
- 웹 서버 접근 로그에 비정상적인
POST /admin-ajax.php요청이 다수 나타나면 경고. - 업로드 디렉터리(
wp-content/uploads/forminator/)에.php,.phtml등 실행 파일 확장자가 생성된 경우 알림. - MIME‑type 헤더가
image/*|application/*형태로 포함된 요청을 탐지.
🛡️ 완화 방안
- 즉시 조치: 해당 플러그인을 최신 버전(≥ 1.56.2)으로 업데이트하거나, 임시로 파일 업로드 기능을 비활성화.
- 웹 서버 레벨 차단:
uploads/디렉터리에서 PHP 실행을 금지(php_flag engine off또는AddHandler none .php). - 입력 검증 강화: MIME‑type 블록리스트를 정규식 기반으로 전환하고,
select필드 값의 서버‑사이드 화이트리스트 적용. - 모니터링: 파일 업로드 로그와 웹쉘 탐지 시그니처를 SIEM에 연동하여 실시간 알림 설정.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=9.8 · non-KEV · EPSS=미확보 · exploit=easy · in_scope=None