CVE-2026-48282의 Adobe ColdFusion RDS 실험실 검증으로, 임의 CFM 파일 쓰기, 코드 실행, auditd/PCAP 증거, 이벤트 타임라인 재구성, SOC 탐지 권장 사항을 포함합니다. 영어 및 폴란드어 보고서가 포함되어 있습니다.
Adobe ColdFusion RDS(Remote Development Services)의 CVE-2026-48282에 대한 실험실 검증으로, 기술적 증거, 이벤트 재구성, 방어적 탐지 기회에 중점을 둡니다.
이 저장소는 취약한 RDS FILEIO 기능을 사용하여 CFM 파일을 ColdFusion 애플리케이션 디렉터리에 기록한 통제된 테스트를 문서화합니다. HTTP를 통해 해당 파일을 호출하자 ColdFusion이 시스템 셸을 시작하고 아웃바운드 연결을 설정했습니다. 그 결과 발생한 프로세스 및 네트워크 활동은 Linux auditd, tcpdump, Docker 텔레메트리, ColdFusion 로그, Windows 이벤트 ID 4688을 통해 수집되었습니다.
[!IMPORTANT] 이 저장소에는 보고서와 스크린샷만 포함되어 있습니다. 맞춤형 파일 업로드/페이로드 구현은 의도적으로 포함하지 않았습니다. 직접 재사용 가능한 악용 코드를 공개하면 불필요한 공격 역량이 추가되기 때문입니다. 이 자료는 취약점 검증, SOC 엔지니어링, 탐지 개발, 그리고 승인된 연구를 위한 것입니다.
두 보고서 모두 전체 테스트 방법론, 증거 발췌문, 타임라인, 프로세스 체인, 네트워크 지표, 완화 지침, 감사 권장 사항, 예제 SIEM 로직을 포함합니다.
.
├── README.md
├── SHA256SUMS.txt
├── reports/
│ ├── CVE-2026-48282_ColdFusion_RDS_detection_EN.pdf
│ └── CVE-2026-48282_ColdFusion_RDS_detection_PL.pdf
└── screenshots/
├── 01_rds_authentication_no_authentication.png
├── 02_vulnerability_check.png
├── 03_rds_file_write_validation.png
├── 04_reverse_shell_session.png
└── 05_connect_cfm_on_ubuntu_host.png
악용 소스, 페이로드 소스, CFM 페이로드, 원시 PCAP, 원시 호스트 증거 패키지는 포함되어 있지 않습니다.
| 역할 | 시스템 |
|---|---|
| 피해 호스트 | Ubuntu 24.04.4 LTS, 커널 6.17.0-35-generic, Docker Engine 29.5.3 |
| 대상 애플리케이션 | Adobe ColdFusion 2025 Update 9, 이미지 adobecoldfusion/coldfusion2025:2025.0.9 |
| 컨테이너 | coldfusion-2025-u9 |
| 공격자 워크스테이션 | Microsoft Windows 11 Home 10.0.26200 |
| ColdFusion 서비스 | http://172.20.10.3:8500 |
| Windows 테스트 주소 | 172.20.10.2 |
| 컨테이너 주소 | 172.19.0.2 |
| 테스트 날짜 | 2026년 7월 7일 |
ColdFusion 애플리케이션 디렉터리 /app은 Docker 바인드 마운트로 Ubuntu 호스트 경로 /home/user/coldfusion-u9/app에서 매핑되었습니다.
테스트는 격리되고 승인된 실험실 환경에서 수행되었습니다. 검증은 다음 순서를 다루었습니다.
/app/connect.cfm에 제출했습니다.GET /connect.cfm을 통해 호출되었습니다./bin/bash를 실행했습니다.보고서는 맞춤형 업로더나 페이로드 구현을 배포하지 않고 증거와 탐지 논리를 의도적으로 문서화합니다.
실험실 테스트에서 확인된 사항:
ColdFusion Java
└── jspawnhelper
└── /bin/bash -c ...
└── bash -i
├── whoami
├── uname
└── id
컨테이너 내부의 유효 정체성은 다음과 같았습니다:
uid=999(cfuser) gid=999(cfuser) groups=999(cfuser)
Ubuntu 호스트에서는 UID 999가 호스트 계정 데이터베이스에서 dnsmasq로 확인되었으며, 이는 호스트 수준 auditd 기록과 파일 소유권 출력에 표시된 사용자 이름이 다른 이유를 설명합니다.
테스트에 사용된 관리 구성은 아래와 같습니다. 인증 불필요(No authentication needed) 옵션은 통제된 실험실 검증에서만 활성화되었습니다.

초기 확인을 통해 RDS 엔드포인트에 연결할 수 있고 경로 순회를 통한 임의 파일 읽기/쓰기 동작이 보고된다는 사실을 확인했습니다.

실험실 업로더가 로컬 CFM 테스트 아티팩트를 /app/connect.cfm에 제출했습니다. 서버는 RDS 응답 1:2:XX를 반환했고, 기록된 리소스는 이후 HTTP를 통해 접근할 수 있었습니다.

결과로 생성된 셸 세션은 ColdFusion 서비스 계정으로 실행되었음을 확인했습니다. 스크린샷에 표시된 명령은 환경 식별로 한정되었습니다.

이 파일은 컨테이너에 /app으로 마운트된 호스트 경로인 /home/user/coldfusion-u9/app에 나타났습니다.

전체 타임라인은 두 PDF 보고서에서 확인할 수 있습니다. 가장 중요한 이벤트는 다음과 같습니다.
| UTC | 이벤트 |
|---|---|
| 20:55:17 | CFADMIN에 관리자 로그인 |
| 20:55:32 | RDS 보안 활성화 및 인증을 인증 불필요(No authentication needed)로 설정 |
| 21:13:22 | Linux 감사, 패킷 캡처, Docker 수집기 시작 |
| 21:14:25 | Windows에서 취약점 확인 스크립트 실행 |
| 21:14:40.940 | /app/connect.cfm에 대한 WRITE 작업과 함께 POST /CFIDE/main/ide.cfm?ACTION=FILEIO |
| 21:14:40.944 | RDS가 1:2:XX 반환 |
| 21:14:40.950 | 브라우저가 /connect.cfm 요청 |
| 21:14:41.321 | ColdFusion Java가 jspawnhelper 실행 |
| 21:14:41.324 | ColdFusion이 /bin/bash 실행 |
| 21:14:56 | Windows에서 ncat.exe -lv 4444 시작 |
| 21:15:00.726 | 172.20.10.2:4444로의 아웃바운드 연결 성공 |
| 21:15:07–21:15:15 | whoami, uname, id, pwd로 실행 컨텍스트 확인 |
| 21:15:20 | 세션 종료 |
피해 호스트는 다음을 수집했습니다.
execve, execveat, connect에 대한 auditd 이벤트;tcpdump 트래픽;최종 auditd 상태는 lost=0을 보고했으며, 이는 커널 감사 하위 시스템이 캡처된 테스트 기간 동안 드롭된 이벤트를 보고하지 않았음을 나타냅니다.
공격자 워크스테이션 수집은 보고서 관련 아티팩트로 의도적으로 제한되었습니다.
다음 조합에 대해 HTTP, 리버스 프록시, WAF 또는 네트워크 텔레메트리를 모니터링합니다.
POST /CFIDE/main/ide.cfm?ACTION=FILEIO
User-Agent: Dreamweaver-RDS-SCM1.00
request body contains: WRITE
request body references: .cfm, .cfc, or .jsp
이 조합은 단일 지표 단독보다 훨씬 강력합니다.
다음을 상호 연관합니다.
WRITE 요청;GET 요청;jspawnhelper의 새로운 자식 프로세스.가치가 높은 프로세스 지표는 다음과 같습니다.
parent process: java or jspawnhelper
child process: bash, sh, dash, cmd.exe, powershell.exe, or pwsh
추가 명령줄 지표에는 /dev/tcp, 대화형 셸 플래그, 리다이렉션 연산자, 인코딩된 명령, 예상치 못한 cfexecute 사용이 포함됩니다.
ColdFusion이 실행한 셸 또는 인터프리터가 워크스테이션이나 비정상적인 대상 포트로 아웃바운드 연결을 시작하면 경고합니다. 실험실 이벤트는 TCP 포트 4444를 사용했지만, 프로덕션 탐지는 단일 포트에 의존해서는 안 됩니다.
ColdFusion 관리 로그에서 다음 내용이 포함된 메시지를 모니터링합니다.
enabled RDS security
RDS authentication type
No authentication needed
프로덕션에서 RDS 구성 변경은, 특히 인증이 약화되거나 서비스가 추가 네트워크에서 연결 가능해지는 경우 반드시 검토해야 합니다.
이 테스트는 중요한 컨테이너 모니터링 한계를 식별했습니다. /app은 바인드 마운트였습니다. docker diff는 /app을 표시했지만 호스트 마운트 디렉터리 내부에 생성된 개별 파일에 대한 완전한 가시성을 제공하지 못했습니다.
따라서 파일 무결성 모니터링, auditd, eBPF 또는 EDR 적용 범위는 마운트를 뒷받침하는 실제 호스트 경로를 모니터링해야 합니다. 예:
/home/user/coldfusion-u9/app
컨테이너 오버레이 또는 /opt/coldfusion/cfusion/wwwroot만 모니터링했다면 이 테스트의 완전한 파일 생성 증거를 포착하지 못했을 것입니다.
HTTP 지표가 탐지되면 SOC는 즉시 다음 사항과 연관시켜야 합니다.
.cfm, .cfc, .jsp 또는 아카이브 파일;whoami, id, uname, hostname, pwd, ip, ifconfig, netstat 또는 ss와 같은 후속 탐지 명령;CFM 파일에 대한 단일 GET 요청만으로는 충분하지 않습니다. 가장 강력한 경고는 동일한 짧은 시간 창 내에서 파일 기록, 파일 접근, 프로세스 생성, 네트워크 연결 텔레메트리를 결합합니다.