
CVE-2026-48908 — SP Page Builder(Joomla)에서 임의 파일 업로드를 통한 인증되지 않은 RCE에 대한 PoC 익스플로잇. 멀티 스레드, 대소문자 우회, 셸 검증. 승인된 보안 테스트 전용입니다.
Critical (CVSS v4: 10.0) — Joomla용 SP Page Builder (
com_sppagebuilder)의 인증되지 않은 원격 코드 실행을 위한 개념 증명 익스플로잇
| 속성 | 값 |
|---|---|
| CVE ID | CVE-2026-48908 |
| 심각도 | 치명적 |
| CVSS v4 점수 | 10.0 |
| 취약점 유형 | CWE-284 (부적절한 접근 제어) → 인증되지 않은 파일 업로드 |
| 구성 요소 | Joomla용 SP Page Builder (com_sppagebuilder) |
| 영향받는 버전 | 1.0.0 – 6.6.1 |
| 수정 버전 | 6.6.2 |
| 필요 권한 | 없음 (인증 전) |
| 사용자 상호작용 | 없음 |
| 공격 벡터 | 네트워크 |
| 영향 | 전체 시스템 손상 (RCE) |
SP Page Builder는 사용자 정의 아이콘 폰트 패키지 업로드를 처리하기 위해 컨트롤러 작업 **asset.uploadCustomIcon**을 노출합니다.
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
취약한 버전에서 이 작업은 인증 없이 그리고 유효한 CSRF 토큰 없이 접근 가능합니다. ZIP 아카이브(multipart 필드 custom_icon)를 받아서 내용을 웹 루트 아래 공개적으로 접근 가능한 디렉토리로 추출합니다.
/media/com_sppagebuilder/assets/iconfont/<name>/
엔드포인트가 인증 전에 접근 가능하고 추출된 파일이 탐색 가능한 위치에 있기 때문에, 공격자는 임의의 파일을 업로드하고 HTTP를 통해 요청하여 PHP 코드를 실행할 수 있습니다.
이 익스플로잇은 다음을 사용하여 일반적인 서버 측 파일 이름 필터를 우회합니다.
.php, .phtml, .phar 등을 거부하지만 대소문자를 정규화하지 않으므로 .PHP 및 기타 혼합 대소문자 변형이 허용됩니다.selection.json, style.css, fonts/<name>.ttf를 패키징하여 업로드가 수락됩니다.fonts/shxt.{ext}에 PHP 웹 쉘이 기록됩니다..php 및 .PHP 변형 시도result.txt에 저장requests 라이브러리git clone https://github.com/Jenderal92/CVE-2026-48908
cd CVE-2026-48908
pip install requests
기본 사용법
python2 CVE-2026-48908.py list.txt
사용자 지정 스레드 수 사용
python2 CVE-2026-48908.py list.txt 20
입력 파일 형식
list.txt는 한 줄에 하나의 대상 URL을 포함해야 합니다:
https://example.com
http://target-site.com/joomla
https://192.168.1.100/joomla
출력
· 성공적인 쉘 URL이 result.txt에 추가됩니다 · 각 줄은 업로드된 PHP 쉘의 전체 URL을 포함합니다
⚙️ 작동 방식
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon을 자동으로 추가합니다.fonts/shxt.{ext}에 PHP 쉘이 포함된 유효한 아이콘 폰트 ZIP 아카이브를 생성합니다.result.txt에 저장합니다.쉘 페이로드
내장된 쉘은 다음을 제공합니다:
· 서버 환경 정보 (php_uname())
· 추가 파일 업로드를 위한 파일 업로드 인터페이스
· 성공/실패 피드백
🛡️ 완화
· SP Page Builder를 버전 6.6.2 이상으로 업그레이드하세요.
· 업로드 디렉토리에서 승인되지 않은 파일을 감사하세요:
· /media/com_sppagebuilder/assets/iconfont/
· 해당 디렉토리에서 발견된 예상치 못한 PHP 파일을 제거하세요.
· asset.uploadCustomIcon에 대한 의심스러운 POST 요청을 서버 로그에서 검토하세요.
· 이러한 요청을 차단하기 위해 웹 애플리케이션 방화벽(WAF)을 배포하세요.
⚠️ 면책 조항
이 도구는 교육 및 승인된 보안 테스트 목적으로만 사용됩니다.
컴퓨터 시스템에 대한 무단 접근은 불법입니다. 저자는 이 도구로 인한 오용이나 손해에 대해 어떠한 책임도 지지 않습니다. 소유하고 있거나 테스트를 위한 명시적인 서면 허가를 받은 시스템에서만 사용하십시오.
더 많은 면책 조항은 Jenderal92의 표지에서 확인할 수 있습니다. 여기!!!에서 확인하세요.
· Censys 권고 · NVD 항목 · JoomShaper 보안 공지
이 프로젝트는 교육 및 연구 목적으로만 사용됩니다. 사용에 따른 책임은 본인에게 있습니다.