
CVE-2026-48907용 PoC - Joomla! JCE 확장 프로그램 < 2.9.99.5의 인증되지 않은 RCE
⚠️ 이 저장소는 교육 및 방어적 보안 목적으로만 제공됩니다. 소유한 시스템 또는 명시적으로 평가 권한이 부여된 시스템에서만 테스트하세요. 이 프로젝트를 제3자 시스템에 사용하지 마세요.
이 PoC는 CVE-2026-48907을 시연합니다. 이는 최대 2.9.99.4 버전까지의 Joomla Content Editor (JCE)에 영향을 주는 인증되지 않은 RCE 취약점입니다.
이것은 JCE의 프로필 가져오기 기능에서 누락된 인증 및 검증을 악용합니다,
이는 BIBIL_0DAY의 원본 PoC와 다릅니다. JCE의 프로필 가져오기가 업로드된 프로필 파일을 인증 없이, 파일 형식이나 콘텐츠 검증 없이 tmp/에 스테이징한다는 사실에 의존하기 때문입니다. 기본 Joomla 구성이 tmp/ 폴더에서 PHP 실행을 허용하므로, 이는 간단한 RCE 경로로 이어집니다.
PHP 실행을 제한하거나 tmp/ 폴더에 대한 공개 접근을 차단하면 이 벡터를 쉽게 완화할 수 있습니다. Joomla 사용자는 웹서버 구성을 강화하고 JCE를 >=2.9.99.5로 업데이트할 것을 권장합니다.
vulnerable/ – 공식 joomla:latest Docker 이미지를 사용하여 Joomla 인스턴스를 배포하고 취약한 버전인 JCE 2.9.99.4를 설치하는 docker-compose. 127.0.0.1:9999에서 수신 대기합니다.patched/ – 공식 joomla:latest Docker 이미지를 사용하여 Joomla 인스턴스를 배포하고 패치된 버전인 JCE 2.9.99.5를 설치하는 docker-compose. 127.0.0.1:9999에서 수신 대기합니다.실행
docker compose -f vulnerable/docker-compose.yaml up
python3 poc.py
다음과 같은 결과가 생성됩니다:
{"success":true,"message":"","messages":{"info":["0 Profile(s) imported successfully"]},"data":{"redirect":"\/index.php\/component\/jce?view=profiles"}}
>> 3105
[!!!!!] PHP payload was executed ! Server is vulnerable to cve-2026-48907 !
이 프로젝트는 연구자, 방어자, 관리자가 취약점을 이해하고 통제된 환경에서 수정 조치를 검증하는 데 도움을 주기 위한 것입니다. 저자는 이 자료의 오용에 대해 책임을 지지 않습니다.