Validación de laboratorio de CVE-2026-48282 en Adobe ColdFusion RDS con escritura arbitraria de archivos CFM, ejecución de código, evidencia auditd/PCAP, reconstrucción de línea de tiempo de eventos y recomendaciones de detección SOC. Incluye informes en inglés y polaco.
Validación de laboratorio de CVE-2026-48282 en Adobe ColdFusion Remote Development Services (RDS), centrada en evidencia técnica, reconstrucción de eventos y oportunidades de detección defensiva.
El repositorio documenta una prueba controlada en la que se utilizó la funcionalidad vulnerable RDS FILEIO para escribir un archivo CFM en un directorio de aplicación de ColdFusion. Invocar el archivo a través de HTTP provocó que ColdFusion iniciara un shell del sistema y estableciera una conexión saliente. La actividad de procesos y red resultante fue capturada usando auditd de Linux, tcpdump, telemetría de Docker, registros de ColdFusion y Windows Event ID 4688.
[!IMPORTANT] Este repositorio contiene solo informes y capturas de pantalla. La implementación personalizada de carga de archivos/payload se ha omitido intencionalmente, porque publicar código de explotación directamente reutilizable añadiría capacidad ofensiva innecesaria. El material está destinado a validación de vulnerabilidades, ingeniería de SOC, desarrollo de detección e investigación autorizada.
Ambos informes contienen la metodología de prueba completa, extractos de evidencia, cronología, cadena de procesos, indicadores de red, guía de mitigación, recomendaciones de auditoría y lógica SIEM de ejemplo.
.
├── 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 se incluye código fuente de exploit, código fuente de payload, payload CFM, PCAP sin procesar ni paquete de evidencia del host sin procesar.
| Rol | Sistema |
|---|---|
| Host víctima | Ubuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3 |
| Aplicación objetivo | Adobe ColdFusion 2025 Update 9, imagen adobecoldfusion/coldfusion2025:2025.0.9 |
| Contenedor | coldfusion-2025-u9 |
| Estación de trabajo atacante | Microsoft Windows 11 Home 10.0.26200 |
| Servicio ColdFusion | http://172.20.10.3:8500 |
| Dirección de prueba Windows | 172.20.10.2 |
| Dirección del contenedor | 172.19.0.2 |
| Fecha de prueba | 7 de julio de 2026 |
El directorio de aplicación de ColdFusion /app se mapeó desde la ruta del host Ubuntu /home/user/coldfusion-u9/app como un bind mount de Docker.
La prueba se realizó en un entorno de laboratorio aislado y autorizado. La validación cubrió la siguiente secuencia:
/app/connect.cfm.GET /connect.cfm./bin/bash a través de la ruta de ejecución de procesos de Java.Los informes documentan intencionalmente la evidencia y la lógica de detección sin distribuir la implementación del cargador personalizado ni del payload.
La prueba de laboratorio confirmó:
ColdFusion Java
└── jspawnhelper
└── /bin/bash -c ...
└── bash -i
├── whoami
├── uname
└── id
Dentro del contenedor, la identidad efectiva era:
uid=999(cfuser) gid=999(cfuser) groups=999(cfuser)
En el host Ubuntu, el UID 999 se resolvió usando la base de datos de cuentas del host como dnsmasq, lo que explica el diferente nombre de usuario que aparece en los registros de auditd a nivel de host y en la salida de propiedad de archivos.
La configuración administrativa utilizada para la prueba se muestra a continuación. La opción No authentication needed se habilitó solo para la validación controlada de laboratorio.

La verificación inicial confirmó que el endpoint RDS era accesible y reportó comportamiento de lectura/escritura arbitraria de archivos a través de path traversal.

El cargador de laboratorio envió el artefacto de prueba CFM local a /app/connect.cfm. El servidor devolvió la respuesta RDS 1:2:XX, y el recurso escrito fue posteriormente accesible a través de HTTP.

La sesión shell resultante confirmó la ejecución como cuenta de servicio de ColdFusion. Los comandos mostrados en la captura de pantalla se limitaron a identificación del entorno.

El archivo apareció en /home/user/coldfusion-u9/app, la ruta del host montada en el contenedor como /app.

La línea de tiempo completa está disponible en ambos informes PDF. Los eventos más importantes fueron:
| UTC | Evento |
|---|---|
| 20:55:17 | Inicio de sesión de administrador en CFADMIN |
| 20:55:32 | Seguridad RDS habilitada y autenticación configurada como No authentication needed |
| 21:13:22 | Inicio de auditoría Linux, captura de paquetes y recolectores Docker |
| 21:14:25 | Ejecución del script de verificación de vulnerabilidad desde Windows |
| 21:14:40.940 | POST /CFIDE/main/ide.cfm?ACTION=FILEIO con una operación WRITE hacia /app/connect.cfm |
| 21:14:40.944 | RDS devolvió 1:2:XX |
| 21:14:40.950 | Navegador solicitó /connect.cfm |
| 21:14:41.321 | ColdFusion Java lanzó jspawnhelper |
| 21:14:41.324 | ColdFusion lanzó /bin/bash |
| 21:14:56 | ncat.exe -lv 4444 iniciado en Windows |
| 21:15:00.726 | Conexión saliente a 172.20.10.2:4444 exitosa |
| 21:15:07–21:15:15 | whoami, uname, id y pwd confirmaron el contexto de ejecución |
| 21:15:20 | Sesión cerrada |
El host víctima recolectó:
auditd para execve, execveat y connect donde el UID efectivo era 999;tcpdump para los puertos HTTP y de callback;El estado final de auditd reportó lost=0, lo que indica que el subsistema de auditoría del kernel no reportó eventos perdidos durante la ventana de prueba capturada.
La recolección en la estación de trabajo atacante se limitó intencionalmente a artefactos relevantes para el informe:
Monitoree la telemetría HTTP, proxy inverso, WAF o red para la siguiente combinación:
POST /CFIDE/main/ide.cfm?ACTION=FILEIO
User-Agent: Dreamweaver-RDS-SCM1.00
cuerpo de la solicitud contiene: WRITE
cuerpo de la solicitud referencia: .cfm, .cfc, o .jsp
La combinación es significativamente más fuerte que cualquier indicador individual por sí solo.
Correlacione:
WRITE hacia una extensión ejecutable por el servidor;GET posterior al recurso recién escrito;jspawnhelper dentro de una ventana de tiempo corta.Indicadores de proceso de alto valor incluyen:
proceso padre: java o jspawnhelper
proceso hijo: bash, sh, dash, cmd.exe, powershell.exe, o pwsh
Indicadores adicionales en la línea de comandos incluyen /dev/tcp, flags de shell interactivo, operadores de redirección, comandos codificados y uso inesperado de cfexecute.
Alerte cuando un shell o intérprete lanzado por ColdFusion inicie una conexión saliente hacia una estación de trabajo o un puerto de destino inusual. El evento de laboratorio usó el puerto TCP 4444, pero la detección en producción no debe depender de un solo puerto.
Monitoree los registros administrativos de ColdFusion en busca de mensajes que contengan:
enabled RDS security
RDS authentication type
No authentication needed
Cualquier cambio en la configuración de RDS en producción debe ser revisado, particularmente cuando se debilite la autenticación o el servicio se vuelva accesible desde redes adicionales.
La prueba identificó una limitación importante en el monitoreo de contenedores: /app era un bind mount. docker diff mostró /app pero no proporcionó visibilidad completa sobre los archivos individuales creados dentro del directorio montado en el host.
El monitoreo de integridad de archivos, auditd, eBPF, o la cobertura de EDR deben, por lo tanto, monitorear la ruta real del host que respalda el montaje, por ejemplo:
/home/user/coldfusion-u9/app
Monitorear solo la capa superpuesta del contenedor o /opt/coldfusion/cfusion/wwwroot no habría capturado la evidencia completa de creación de archivos para esta prueba.
Cuando se detecte el indicador HTTP, el SOC debe correlacionarlo inmediatamente con:
.cfm, .cfc, .jsp o archivos nuevos o modificados;whoami, id, uname, hostname, pwd, ip, ifconfig, netstat o ss;Una sola solicitud GET a un archivo CFM no es suficiente por sí sola. La alerta más fuerte combina telemetría de escritura de archivo, acceso a archivo, creación de proceso y conexión de red dentro de la misma ventana de tiempo corta.
Este material se proporciona para investigación de seguridad defensiva, gestión de vulnerabilidades, ingeniería de detección, preparación para respuesta a incidentes y pruebas autorizadas. No lo utilice contra sistemas sin permiso explícito.