[공격] 분석 — CVE-2026-56290
Critical unauthenticated arbitrary file upload in Joomla Page Builder CK < 3.6.0 allows remote code execution (RCE), requiring immediate update to version 3.6.0 or higher.
📋 요약
- 심각도 critical · CVSS 9.8 · EPSS 0.02912 · 악용난이도 easy · KEV
🔍 공격 기법
- 트리거 조건:
page_builder_ck확장 프로그램 내 파일 업로드 기능에서 입력값 검증(파일 확장자, MIME 타입 등)이 누락되거나 우회 가능한 결함이 존재함. 인증되지 않은 외부 요청자가 실행 가능한 스크립트 파일을 서버에 직접 쓰기(Write) 할 수 있는 상태임. - 공격 단계:
- 정찰 (Reconnaissance): 대상 서버의 Joomla 버전 및
page_builder_ck설치 여부 확인. 추정: 특정 경로의 매니페스트 파일이나 정적 자산 경로를 통해 버전 식별. - 트리거 (Trigger): 인증 없이 접근 가능한 업로드 엔드포인트에
.php등 실행 가능한 웹쉘(Webshell) 파일을 전송. - 실행 및 권한 획득 (Execution & Privilege): 업로드된 파일의 저장 경로를 파악하여 HTTP 요청으로 호출 $\rightarrow$ 서버 사이드에서 PHP 코드 실행 $\rightarrow$ 웹 서버 권한(예:
www-data) 획득. - 후속 피벗 (Post-Exploitation): 획득한 권한을 이용해
/etc/passwd등 시스템 파일 탈취, DB 설정 파일 접근 후 데이터베이스 덤프, 또는 커널 취약점을 통한 Privilege Escalation 시도.
- 정찰 (Reconnaissance): 대상 서버의 Joomla 버전 및
- 공격 표면:
page_builder_ck와 관련된 HTTP POST 요청 엔드포인트 및 파일 업로드 처리 파라미터. - 실전 관점의 CVSS 분석: $\text{AV:N/AC:L/PR:N/UI:N}$ 벡터는 공격자가 네트워크를 통해, 특별한 권한이나 사용자 상호작용 없이도 즉시 트리거할 수 있음을 의미함. 이는 진입 장벽이 거의 없는 'Easy' 등급의 공격 경로임.
악용 가능성: [공격 난이도 및 악용 가능성]
본 취약점은 AV:N/AC:L/PR:N/UI:N 벡터가 보여주듯, 공격자가 인증 없이 네트워크를 통해 원격에서 즉시 트리거할 수 있어 공격 난이도가 매우 낮습니다. 특히 KEV(Known Exploited Vulnerabilities)에 등재되었다는 점과 EPSS 0.02912의 실측값은 이론적 위험을 넘어 실제 야생(In-the-wild)에서 자동화된 스캐너와 익스플로잇이 활발히 작동하고 있음을 증명합니다. 공격 표면은 Joomla CMS에 설치된 Page Builder CK 확장 모듈의 파일 업로드 엔드포인트이며, 적절한 검증 없이 실행 가능한 파일(WebShell 등)을 서버 내 임의 경로에 저장할 수 있는 구조입니다. 공격자는 별도의 권한 획득 과정 없이 정찰 단계에서 해당 확장 모듈의 존재만 확인하면 바로 트리거가 가능하며, 업로드된 파일을 호출함으로써 즉각적인 Full RCE(Remote Code Execution)를 달성합니다. 일단 웹쉘이 실행되면 웹 서버 권한을 통해 내부 시스템 정보 탈취 및 추가적인 내부망 피벗(Lateral Movement)으로 이어질 가능성이 매우 높습니다.
[공격 기법]
- 전제조건: 외부에서 접근 가능한 HTTP/HTTPS 포트가 열려 있고, Joomla CMS 및 취약한 버전의 Page Builder CK 확장 모듈이 설치되어 있어야 합니다. 인증 과정이 생략되므로 공격자는 단순 방문자 권한만으로 충분합니다.
- 공격 경로 및 트리거:
- 정찰(Reconnaissance): HTTP 응답 헤더나 특정 경로(
/plugins/system/pagebuilderck/등)의 존재 여부를 통해 취약 모듈 설치 여부와 버전을 식별합니다. - 트리거(Trigger): 파일 업로드를 처리하는 엔드포인트에
multipart/form-data요청을 전송합니다. 이때 서버 측에서 파일 확장자나 MIME Type을 엄격하게 검증하지 않는 취약한 파라미터를 통해.php와 같은 실행 파일을 주입합니다. - 실행 및 권한 획득(Execution): 업로드된 파일이 저장된 웹 루트 경로를 직접 호출하여 서버 측에서 코드가 실행되게 함으로써 WebShell을 활성화하고,
www-data또는apache등의 웹 서비스 계정 권한을 획득합니다. - 후속 피벗(Post-Exploitation): 획득한 쉘을 통해
/etc/passwd,configuration.php(DB 접속 정보) 등 민감 파일을 탈취하거나, OS 커널 취약점을 이용한 권한 상승(Privilege Escalation) 및 내부 네트워크 스캐닝으로 공격 범위를 확장합니다.
- 정찰(Reconnaissance): HTTP 응답 헤더나 특정 경로(
- 체이닝 가능성: 획득한 DB 계정 정보를 이용하여 Joomla 관리자 계정을 탈취하거나, 서버 내 다른 서비스의 설정 파일을 수정하여 지속성(Persistence)을 확보하는 방식으로 체이닝될 수 있습니다.
[탐지 관점]
- 네트워크:
🔎 탐지
- 로그 지표:
- 웹 서버 액세스 로그:
page_builder_ck관련 경로로의 비정상적인POST요청 및 이후 해당 경로에 생성된 생소한 파일명(.php,.phtml,.php5등)으로의GET요청. - 파일 시스템: 웹 루트 내 업로드 디렉토리에 실행 권한이 부여된 신규 PHP 파일 생성 이벤트.
- 웹 서버 액세스 로그:
- 탐지 규칙 예시:
- HTTP Request Pattern (Regex):
POST .*(page_builder_ck).*filename=.*\.php - SIEM Logic:
SELECT * FROM web_logs WHERE request_method='POST' AND uri LIKE '%page_builder_ck%' AND payload LIKE '%.php%'$\rightarrow$ 이후 동일 IP에서 해당 파일 경로로GET요청 발생 시 Critical 경보.
- HTTP Request Pattern (Regex):
- 오탐 가능성: 관리자가 정상적으로 업로드하는 이미지/문서 파일과 구분 필요. 파일 확장자뿐만 아니라 HTTP Body의
Content-Type및 실제 파일 매직 넘버(Magic Number)를 함께 검사하여 오탐을 줄임.
🛡️ 완화 방안
- 즉시 (긴급 차단):
- WAF에서
page_builder_ck관련 업로드 엔드포인트로의 모든POST요청을 일시적으로 차단하거나,.php등 실행 파일 확장자가 포함된 멀티파트 요청을 드롭(Drop) 처리. (트레이드오프: 정상적인 페이지 빌더 기능 사용 불가)
- WAF에서
- 단기 (완화):
- 웹 서버 설정(Apache
.htaccess또는 Nginxlocation블록)을 통해 업로드 디렉토리 내에서의 스크립트 실행 권한(php_flag engine off등)을 제거. (트레이드오프: 일부 정상적인 동적 리소스 동작에 영향 가능성)
- 웹 서버 설정(Apache
- 근본 (해결):
page_builder_ck버전을 3.6.0 이상으로 즉시 업데이트. (트레이드오프: 업데이트 전 백업 필수, 버전 호환성 테스트 필요)
[분석 근거]: 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값(0.02912, 백분위 0.85351)이 이론적 수치와 별개로 실제 야생에서의 악용 가능성이 높음을 시사합니다. 특히 KEV(Known Exploited Vulnerabilities) 등재 및 exploit=easy 판정에 따라 대응 우선순위를 'immediate (24h 내)'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=9.8 · KEV · EPSS=0.02912 · exploit=easy · in_scope=None