Laboratory validation of CVE-2026-48282 in Adobe ColdFusion RDS with arbitrary CFM file write, code execution, auditd/PCAP evidence, event timeline reconstruction, and SOC detection recommendations. Includes English and Polish reports.
Laboratory validation of CVE-2026-48282 in Adobe ColdFusion Remote Development Services (RDS), focused on technical evidence, event reconstruction, and defensive detection opportunities.
The repository documents a controlled test in which the vulnerable RDS FILEIO functionality was used to write a CFM file to a ColdFusion application directory. Invoking the file over HTTP caused ColdFusion to start a system shell and establish an outbound connection. The resulting process and network activity was captured using Linux auditd, tcpdump, Docker telemetry, ColdFusion logs, and Windows Event ID 4688.
[!IMPORTANT] This repository contains reports and screenshots only. The custom file-upload/payload implementation is intentionally not included, because publishing directly reusable exploitation code would add unnecessary offensive capability. The material is intended for vulnerability validation, SOC engineering, detection development, and authorized research.
Both reports contain the full test methodology, evidence excerpts, timeline, process chain, network indicators, mitigation guidance, audit recommendations, and example SIEM logic.
.
├── 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
No exploit source, payload source, CFM payload, raw PCAP, or raw host evidence package is included.
| Role | System |
|---|---|
| Victim host | Ubuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3 |
| Target application | Adobe ColdFusion 2025 Update 9, image adobecoldfusion/coldfusion2025:2025.0.9 |
| Container | coldfusion-2025-u9 |
| Attacker workstation | Microsoft Windows 11 Home 10.0.26200 |
| ColdFusion service | http://172.20.10.3:8500 |
| Windows test address | 172.20.10.2 |
| Container address | 172.19.0.2 |
| Test date | 7 July 2026 |
The ColdFusion application directory /app was mapped from the Ubuntu host path /home/user/coldfusion-u9/app as a Docker bind mount.
The test was performed in an isolated and authorized laboratory environment. The validation covered the following sequence:
/app/connect.cfm.GET /connect.cfm./bin/bash through the Java process execution path.The reports intentionally document the evidence and detection logic without distributing the custom uploader or payload implementation.
The laboratory test confirmed:
ColdFusion Java
└── jspawnhelper
└── /bin/bash -c ...
└── bash -i
├── whoami
├── uname
└── id
Inside the container, the effective identity was:
uid=999(cfuser) gid=999(cfuser) groups=999(cfuser)
On the Ubuntu host, UID 999 was resolved using the host account database as dnsmasq, which explains the different username shown in host-level auditd records and file ownership output.
The administrative configuration used for the test is shown below. The No authentication needed option was enabled only for the controlled laboratory validation.

The initial check confirmed that the RDS endpoint was reachable and reported arbitrary file read/write behavior through path traversal.

The laboratory uploader submitted the local CFM test artifact to /app/connect.cfm. The server returned the RDS response 1:2:XX, and the written resource was subsequently reachable over HTTP.

The resulting shell session confirmed execution as the ColdFusion service account. The commands shown in the screenshot were limited to environment identification.

The file appeared in /home/user/coldfusion-u9/app, the host path mounted into the container as /app.

The complete timeline is available in both PDF reports. The most important events were:
| UTC | Event |
|---|---|
| 20:55:17 | Administrator login to CFADMIN |
| 20:55:32 | RDS security enabled and authentication set to No authentication needed |
| 21:13:22 | Linux auditing, packet capture, and Docker collectors started |
| 21:14:25 | Vulnerability-check script executed from Windows |
| 21:14:40.940 | POST /CFIDE/main/ide.cfm?ACTION=FILEIO with a WRITE operation to /app/connect.cfm |
| 21:14:40.944 | RDS returned 1:2:XX |
| 21:14:40.950 | Browser requested /connect.cfm |
| 21:14:41.321 | ColdFusion Java launched jspawnhelper |
| 21:14:41.324 | ColdFusion launched /bin/bash |
| 21:14:56 | ncat.exe -lv 4444 started on Windows |
| 21:15:00.726 | Outbound connection to 172.20.10.2:4444 succeeded |
| 21:15:07–21:15:15 | whoami, uname, id, and pwd confirmed the execution context |
| 21:15:20 | Session closed |
The victim host collected:
auditd events for execve, execveat, and connect where the effective UID was 999;tcpdump traffic for the HTTP and callback ports;The final auditd status reported lost=0, indicating that the kernel audit subsystem did not report dropped events during the captured test window.
The attacker workstation collection was intentionally limited to report-relevant artifacts:
Monitor HTTP, reverse-proxy, WAF, or network telemetry for the following combination:
POST /CFIDE/main/ide.cfm?ACTION=FILEIO
User-Agent: Dreamweaver-RDS-SCM1.00
request body contains: WRITE
request body references: .cfm, .cfc, or .jsp
The combination is significantly stronger than any single indicator by itself.
Correlate:
WRITE request to a server-executable extension;GET request to the newly written resource;jspawnhelper within a short time window.High-value process indicators include:
parent process: java or jspawnhelper
child process: bash, sh, dash, cmd.exe, powershell.exe, or pwsh
Additional command-line indicators include /dev/tcp, interactive shell flags, redirection operators, encoded commands, and unexpected use of cfexecute.
Alert when a shell or interpreter launched by ColdFusion initiates an outbound connection to a workstation or an unusual destination port. The laboratory event used TCP port 4444, but production detection should not depend on a single port.
Monitor ColdFusion administrative logs for messages containing:
enabled RDS security
RDS authentication type
No authentication needed
Any RDS configuration change in production should be reviewed, particularly when authentication is weakened or the service becomes reachable from additional networks.
The test identified an important container-monitoring limitation: /app was a bind mount. docker diff showed /app but did not provide complete visibility into individual files created inside the host-mounted directory.
File-integrity monitoring, auditd, eBPF, or EDR coverage should therefore monitor the real host path backing the mount, for example:
/home/user/coldfusion-u9/app
Monitoring only the container overlay or /opt/coldfusion/cfusion/wwwroot would not have captured the complete file-creation evidence for this test.
When the HTTP indicator is detected, the SOC should immediately correlate it with:
.cfm, .cfc, .jsp, or archive files;whoami, id, uname, hostname, pwd, ip, ifconfig, netstat, or ss;A single GET request to a CFM file is not sufficient on its own. The strongest alert combines file-write, file-access, process-creation, and network-connection telemetry within the same short time window.
This material is provided for defensive security research, vulnerability management, detection engineering, incident-response preparation, and authorized testing. Do not use it against systems without explicit permission.