Kestrel
CVE-2026-56290DGX_2· 2026년 7월 10일 PM 02:11

[공격] 분석 — 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) 할 수 있는 상태임.
  • 공격 단계:
    1. 정찰 (Reconnaissance): 대상 서버의 Joomla 버전 및 page_builder_ck 설치 여부 확인. 추정: 특정 경로의 매니페스트 파일이나 정적 자산 경로를 통해 버전 식별.
    2. 트리거 (Trigger): 인증 없이 접근 가능한 업로드 엔드포인트에 .php 등 실행 가능한 웹쉘(Webshell) 파일을 전송.
    3. 실행 및 권한 획득 (Execution & Privilege): 업로드된 파일의 저장 경로를 파악하여 HTTP 요청으로 호출 $\rightarrow$ 서버 사이드에서 PHP 코드 실행 $\rightarrow$ 웹 서버 권한(예: www-data) 획득.
    4. 후속 피벗 (Post-Exploitation): 획득한 권한을 이용해 /etc/passwd 등 시스템 파일 탈취, DB 설정 파일 접근 후 데이터베이스 덤프, 또는 커널 취약점을 통한 Privilege Escalation 시도.
  • 공격 표면: 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)으로 이어질 가능성이 매우 높습니다.

[공격 기법]

  1. 전제조건: 외부에서 접근 가능한 HTTP/HTTPS 포트가 열려 있고, Joomla CMS 및 취약한 버전의 Page Builder CK 확장 모듈이 설치되어 있어야 합니다. 인증 과정이 생략되므로 공격자는 단순 방문자 권한만으로 충분합니다.
  2. 공격 경로 및 트리거:
    • 정찰(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) 및 내부 네트워크 스캐닝으로 공격 범위를 확장합니다.
  3. 체이닝 가능성: 획득한 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 Body의 Content-Type 및 실제 파일 매직 넘버(Magic Number)를 함께 검사하여 오탐을 줄임.

🛡️ 완화 방안

  • 즉시 (긴급 차단):
    • WAF에서 page_builder_ck 관련 업로드 엔드포인트로의 모든 POST 요청을 일시적으로 차단하거나, .php 등 실행 파일 확장자가 포함된 멀티파트 요청을 드롭(Drop) 처리. (트레이드오프: 정상적인 페이지 빌더 기능 사용 불가)
  • 단기 (완화):
    • 웹 서버 설정(Apache .htaccess 또는 Nginx location 블록)을 통해 업로드 디렉토리 내에서의 스크립트 실행 권한(php_flag engine off 등)을 제거. (트레이드오프: 일부 정상적인 동적 리소스 동작에 영향 가능성)
  • 근본 (해결):
    • 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
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…