Laborvalidierung von CVE-2026-48282 in Adobe ColdFusion RDS mit beliebigem CFM-Dateischreiben, Codeausführung, auditd/PCAP-Beweisen, Ereigniszeitlinienrekonstruktion und SOC-Erkennungsempfehlungen. Enthält englische und polnische Berichte.
Laborvalidierung von CVE-2026-48282 in Adobe ColdFusion Remote Development Services (RDS), mit Fokus auf technische Beweise, Ereignisrekonstruktion und defensive Erkennungsmöglichkeiten.
Das Repository dokumentiert einen kontrollierten Test, bei dem die anfällige RDS FILEIO-Funktionalität genutzt wurde, um eine CFM-Datei in ein ColdFusion-Anwendungsverzeichnis zu schreiben. Das Aufrufen der Datei über HTTP führte dazu, dass ColdFusion eine System-Shell startete und eine ausgehende Verbindung herstellte. Die daraus resultierende Prozess- und Netzwerkaktivität wurde mit Linux auditd, tcpdump, Docker-Telemetrie, ColdFusion-Protokollen und Windows Event ID 4688 erfasst.
[!IMPORTANT] Dieses Repository enthält nur Berichte und Screenshots. Die benutzerdefinierte Datei-Upload-/Payload-Implementierung ist bewusst nicht enthalten, da die direkte Veröffentlichung von direkt wiederverwendbarem Exploit-Code unnötige offensive Fähigkeiten hinzufügen würde. Das Material ist für Schwachstellenvalidierung, SOC-Engineering, Erkennungsentwicklung und autorisierte Forschung gedacht.
Beide Berichte enthalten die vollständige Testmethodik, Beweisauszüge, Zeitleiste, Prozesskette, Netzwerkindikatoren, Minderungsempfehlungen, Prüfungsempfehlungen und beispielhafte SIEM-Logik.
.
├── 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
Es sind kein Exploit-Quellcode, Payload-Quellcode, CFM-Payload, Roh-PCAP oder rohes Host-Beweispaket enthalten.
| Rolle | System |
|---|---|
| Opfer-Host | Ubuntu 24.04.4 LTS, Kernel 6.17.0-35-generic, Docker Engine 29.5.3 |
| Zielanwendung | Adobe ColdFusion 2025 Update 9, Image adobecoldfusion/coldfusion2025:2025.0.9 |
| Container | coldfusion-2025-u9 |
| Angreifer-Workstation | Microsoft Windows 11 Home 10.0.26200 |
| ColdFusion-Dienst | http://172.20.10.3:8500 |
| Windows-Testadresse | 172.20.10.2 |
| Container-Adresse | 172.19.0.2 |
| Testdatum | 7. Juli 2026 |
Das ColdFusion-Anwendungsverzeichnis /app wurde vom Ubuntu-Host-Pfad /home/user/coldfusion-u9/app als Docker-Bind-Mount eingebunden.
Der Test wurde in einer isolierten und autorisierten Laborumgebung durchgeführt. Die Validierung umfasste die folgende Sequenz:
/app/connect.cfm zu übermitteln.GET /connect.cfm aufgerufen./bin/bash.Die Berichte dokumentieren absichtlich die Beweise und die Erkennungslogik, ohne den benutzerdefinierten Uploader oder die Payload-Implementierung zu verteilen.
Der Labortest bestätigte:
ColdFusion Java
└── jspawnhelper
└── /bin/bash -c ...
└── bash -i
├── whoami
├── uname
└── id
Im Container war die effektive Identität:
uid=999(cfuser) gid=999(cfuser) groups=999(cfuser)
Auf dem Ubuntu-Host wurde UID 999 mithilfe der Host-Kontendatenbank als dnsmasq aufgelöst, was den abweichenden Benutzernamen in Host-Ebene-auditd-Aufzeichnungen und Dateieigentumsausgaben erklärt.
Die für den Test verwendete administrative Konfiguration ist unten dargestellt. Die Option Keine Authentifizierung erforderlich wurde nur für die kontrollierte Laborvalidierung aktiviert.

Die erste Prüfung bestätigte, dass der RDS-Endpunkt erreichbar war und ein beliebiges Dateilesen/-schreiben durch Pfad-Traversal gemeldet wurde.

Der Labor-Uploader übermittelte das lokale CFM-Testartefakt an /app/connect.cfm. Der Server gab die RDS-Antwort 1:2:XX zurück, und die geschriebene Ressource war anschließend über HTTP erreichbar.

Die resultierende Shell-Sitzung bestätigte die Ausführung als ColdFusion-Dienstkonto. Die im Screenshot gezeigten Befehle waren auf die Identifikation der Umgebung beschränkt.

Die Datei erschien in /home/user/coldfusion-u9/app, dem Host-Pfad, der als /app in den Container eingebunden wurde.

Die vollständige Zeitleiste ist in beiden PDF-Berichten verfügbar. Die wichtigsten Ereignisse waren:
| UTC | Ereignis |
|---|---|
| 20:55:17 | Administrator-Login bei CFADMIN |
| 20:55:32 | RDS-Sicherheit aktiviert und Authentifizierung auf Keine Authentifizierung erforderlich gesetzt |
| 21:13:22 | Linux-Auditing, Paketerfassung und Docker-Collectoren gestartet |
| 21:14:25 | Schwachstellenprüf-Skript von Windows aus ausgeführt |
| 21:14:40.940 | POST /CFIDE/main/ide.cfm?ACTION=FILEIO mit einem WRITE-Vorgang an /app/connect.cfm |
| 21:14:40.944 | RDS gab 1:2:XX zurück |
| 21:14:40.950 | Browser forderte /connect.cfm an |
| 21:14:41.321 | ColdFusion Java startete jspawnhelper |
| 21:14:41.324 | ColdFusion startete /bin/bash |
| 21:14:56 | ncat.exe -lv 4444 auf Windows gestartet |
| 21:15:00.726 | Ausgehende Verbindung zu 172.20.10.2:4444 erfolgreich |
| 21:15:07–21:15:15 | whoami, uname, id und pwd bestätigten den Ausführungskontext |
| 21:15:20 | Sitzung geschlossen |
Der Opfer-Host sammelte:
auditd-Ereignisse für execve, execveat und connect, bei denen die effektive UID 999 war;tcpdump-Verkehr für die HTTP- und Callback-Ports;Der endgültige auditd-Status meldete lost=0, was darauf hinweist, dass das Kernel-Audit-Subsystem während des erfassten Testfensters keine verlorenen Ereignisse meldete.
Die Erfassung auf der Angreifer-Workstation wurde absichtlich auf berichtsrelevante Artefakte beschränkt:
Überwachen Sie HTTP-, Reverse-Proxy-, WAF- oder Netzwerktelemetrie auf folgende Kombination:
POST /CFIDE/main/ide.cfm?ACTION=FILEIO
User-Agent: Dreamweaver-RDS-SCM1.00
Anfragekörper enthält: WRITE
Anfragekörper verweist auf: .cfm, .cfc oder .jsp
Die Kombination ist deutlich stärker als jeder einzelne Indikator für sich.
Korrelieren Sie:
WRITE-Anfrage an eine serverausführbare Erweiterung;GET-Anfrage an die neu geschriebene Ressource;jspawnhelper innerhalb eines kurzen Zeitfensters.Hochwertige Prozessindikatoren umfassen:
Elternprozess: java oder jspawnhelper
Kindprozess: bash, sh, dash, cmd.exe, powershell.exe oder pwsh
Zusätzliche Kommandozeilenindikatoren umfassen /dev/tcp, interaktive Shell-Flags, Umleitungsoperatoren, codierte Befehle und unerwartete Verwendung von cfexecute.
Alarmieren Sie, wenn eine von ColdFusion gestartete Shell oder ein Interpreter eine ausgehende Verbindung zu einer Workstation oder einem ungewöhnlichen Zielport initiiert. Das Laborereignis verwendete TCP-Port 4444, aber die Erkennung in der Produktion sollte nicht von einem einzelnen Port abhängen.
Überwachen Sie ColdFusion-Administrationsprotokolle auf Nachrichten mit folgendem Inhalt:
RDS-Sicherheit aktiviert
RDS-Authentifizierungstyp
Keine Authentifizierung erforderlich
Jede RDS-Konfigurationsänderung in der Produktion sollte überprüft werden, insbesondere wenn die Authentifizierung abgeschwächt oder der Dienst aus zusätzlichen Netzwerken erreichbar wird.
Der Test identifizierte eine wichtige Einschränkung der Container-Überwachung: /app war ein Bind-Mount. docker diff zeigte /app an, bot jedoch keine vollständige Transparenz über einzelne Dateien, die innerhalb des host-gemounteten Verzeichnisses erstellt wurden.
Die Überwachung der Dateiintegrität, auditd, eBPF oder EDR-Abdeckung sollte daher den echten Host-Pfad überwachen, der den Mount unterstützt, zum Beispiel:
/home/user/coldfusion-u9/app
Die ausschließliche Überwachung des Container-Overlays oder von /opt/coldfusion/cfusion/wwwroot hätte die vollständigen Dateierstellungsbeweise für diesen Test nicht erfasst.
Wenn der HTTP-Indikator erkannt wird, sollte das SOC sofort Folgendes korrelieren:
.cfm-, .cfc-, .jsp- oder Archivdateien;whoami, id, uname, hostname, pwd, ip, ifconfig, netstat oder ss;Eine einzelne GET-Anfrage an eine CFM-Datei reicht allein nicht aus. Der stärkste Alarm kombiniert Dateischreib-, Dateizugriffs-, Prozesserstellungs- und Netzwerkverbindungstelemetrie innerhalb desselben kurzen Zeitfensters.
Dieses Material wird für defensive Sicherheitsforschung, Schwachstellenmanagement, Erkennungsentwicklung, Incident-Response-Vorbereitung und autorisierte Tests bereitgestellt. Verwenden Sie es nicht gegen Systeme ohne ausdrückliche Genehmigung.