Someone left the cargo bay door open and the lock was never installed
CVE-2026-48283 is an unauthenticated unrestricted file upload vulnerability in the CKEditor filemanager connector (/cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/upload.cfm) that ships by default with every Adobe ColdFusion installation. Affected versions are ColdFusion 2025 Update 9 and earlier and ColdFusion 2023 Update 20 and earlier. An attacker sends a single HTTP POST — no credentials, no user click, no special headers — and drops a malicious .cfm webshell into the ColdFusion webroot via a path traversal in the path parameter. The uploaded file executes as NT AUTHORITY\SYSTEM on Windows. Fixed in ColdFusion 2025 Update 10 and ColdFusion 2023 Update 21 (bulletin APSB26-68, released June 30, 2026).
Adobe's CVSS 10.0 CRITICAL rating is essentially correct. The vendor used Scope:Changed (S:C), which is technically debatable since code execution occurs on the same host, yielding a more precise 9.8 with S:U — but in practical terms this is a zero-friction, unauthenticated, internet-reachable RCE that runs as SYSTEM. The sibling flaw CVE-2026-48282 was exploited within *two hours* of the watchTowr writeup and is now KEV-listed. CVE-2026-48283 targets a different, arguably easier attack surface (CKEditor upload vs. RDS FILEIO), meaning weaponization is a matter of days, not weeks. The vendor severity matches reality.
5 steps from start to impact.
Discover ColdFusion instance
Server: ColdFusion, /CFIDE/ directory presence) or using Shodan/FOFA dorks. Shadowserver tracks approximately 800 internet-facing ColdFusion instances; internal enterprise deployments add significantly to the attack surface. ColdFusion's default landing page and /CFIDE/administrator/ path leak version information.- Network path to ColdFusion HTTP/HTTPS port
- Small internet-facing population (~800 per Shadowserver) limits external mass exploitation
- Internal ColdFusion instances require prior network access
http.component:coldfusion; Nuclei template coldfusion-detect; GreyNoise tags for ColdFusion scanning activity.Probe CKEditor upload endpoint
/cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/upload.cfm to confirm the endpoint exists and is reachable. This endpoint is part of the CKEditor filemanager plugin that ships with ColdFusion by default. A 200 response confirms vulnerability; a 404 or WAF block indicates the endpoint is removed or protected.- CKEditor filemanager connector not removed or blocked by WAF/reverse proxy
- Some hardened installs lock down
/cf_scripts/via reverse proxy rules - Adobe hardening guides recommend disabling the filemanager connector, but few deployments follow this
upload.cfm in the CKEditor path; HTTP access logs for the specific URI pattern.Upload malicious .cfm webshell
path parameter (e.g., home/../../../../../../../ColdFusion2025/cfusion/wwwroot/) and a .cfm file containing a webshell payload such as <cfexecute name="cmd.exe" arguments="/c whoami" />. No authentication token, session cookie, or CSRF token is required. The file is written to disk with SYSTEM privileges.- Upload endpoint reachable and functional
- ColdFusion not patched to Update 10 (2025) or Update 21 (2023)
- File extension blocklist in patched versions blocks
.cfm,.jsp,.jspf,.war,.cfmail— but pre-patch versions have no such restriction
wwwroot; EDR alerting on new .cfm file creation by the ColdFusion process; IDS signatures for path traversal sequences in POST bodies.Execute webshell for SYSTEM code execution
https://target/shell.cfm). ColdFusion processes the template and executes the embedded commands as NT AUTHORITY\SYSTEM on Windows or the ColdFusion service account on Linux. From here the attacker has arbitrary code execution: credential harvesting (datasource passwords in neo-datasource.xml), lateral movement, persistence via scheduled tasks, or ransomware deployment.- Uploaded file lands in a web-accessible directory
- ColdFusion service is running
- Application-layer EDR should detect
cfexecutespawning child processes likecmd.exeor/bin/sh - Network segmentation may limit lateral movement from the ColdFusion tier
coldfusion.exe → cmd.exe; Sysmon EventID 1 with cfexecute parent; web shell scanners (YARA rules for common CFM shells).Harvest credentials and pivot
neo-datasource.xml with reversible encryption. The attacker decrypts these credentials using well-known tooling (e.g., ColdFusionPwn) to obtain database admin passwords. With SYSTEM access the attacker can also dump LSASS, extract service account credentials, and pivot into Active Directory. ColdFusion servers frequently have direct database connectivity to production SQL instances holding regulated data.- Database credentials stored in ColdFusion datasource configuration
- Network path from ColdFusion host to database tier
- MFA on database connections (rare for service accounts)
- Network microsegmentation between app tier and data tier
The supporting signals.
| In-the-wild status | CVE-2026-48283 itself: no confirmed exploitation yet. However, sibling CVE-2026-48282 (same bulletin, same affected versions) was exploited within 2 hours of watchTowr's technical writeup and is KEV-listed since July 7, 2026. Treat CVE-2026-48283 as imminent. |
|---|---|
| Proof-of-concept | Horizon3.ai published a technical advisory pairing CVE-2026-48283 with CVE-2026-48313 (path traversal). watchTowr Labs published a detailed writeup covering the CKEditor upload endpoint and path parameter abuse. A historical Metasploit module (exploit/multi/http/coldfusion_ckeditor_file_upload) for CVE-2018-15961 targets the same endpoint pattern — adaptation for 2026 variants is trivial. |
| EPSS | 0.01553 (1.55%) — 30-day exploitation probability. This is relatively low but is expected to spike as PoC code proliferates and sibling CVE exploitation widens. EPSS lags real-world activity for newly disclosed CVEs. |
| KEV status | CVE-2026-48283: Not listed. Sibling CVE-2026-48282: Added July 7, 2026. Given identical affected versions and fixes, KEV addition for -48283 is probable once exploitation is observed. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0. The S:C (Scope Changed) is debatable — code executes on the same host. With S:U the score would be 9.8. Either way, the vector reflects zero-friction unauthenticated RCE. |
| Affected versions | ColdFusion 2025 ≤ Update 9; ColdFusion 2023 ≤ Update 20. All prior major versions (2021, 2018, etc.) are end-of-life and likely also vulnerable but will not receive patches. |
| Fixed versions | ColdFusion 2025 Update 10; ColdFusion 2023 Update 21. Released June 30, 2026 in bulletin APSB26-68. Adobe Priority Rating 1 (highest urgency). |
| Exposure data | Shadowserver tracks ~800 internet-facing ColdFusion instances globally. GreyNoise has documented coordinated scanning campaigns targeting ColdFusion endpoints. Many more instances exist behind corporate firewalls, especially in government and financial sectors. |
| Disclosure date | June 30, 2026 (APSB26-68 publication). Credited researchers: Anirudh Anand (a0xnirudh), Matan Sandori, and 2Bsecure. |
| Historical precedent | ColdFusion CKEditor/FCKEditor upload vulns are a recurring pattern: CVE-2018-15961, CVE-2018-4939, CVE-2023-26360, CVE-2023-29298. Each was actively exploited. ColdFusion is consistently targeted by APT groups and ransomware operators. |
noisgate verdict.
The single most decisive factor is zero-friction unauthenticated RCE through a default-shipped endpoint — no credentials, no user interaction, one HTTP POST to SYSTEM-level code execution. The sibling CVE-2026-48282 was weaponized within two hours and is KEV-listed, establishing that attackers are actively targeting this exact bulletin and attack surface.
Why this verdict
- Zero authentication friction: AV:N/AC:L/PR:N/UI:N — the attacker needs nothing but HTTP access to the ColdFusion port. No credentials, no social engineering, no prior foothold. This is the lowest-friction attack class possible.
- Default attack surface: The CKEditor filemanager connector with
upload.cfmships with every ColdFusion installation. It is not an optional module or a feature that must be enabled. The endpoint exists out of the box on all affected versions. - SYSTEM-level execution: Uploaded files execute as NT AUTHORITY\SYSTEM on Windows. This is not constrained to the ColdFusion application sandbox — it is full host compromise with the highest local privilege level.
- Sibling exploitation confirms active targeting: CVE-2026-48282 (same bulletin, same versions, same fix) was exploited within 2 hours of disclosure and is now KEV-listed. Attackers are already probing ColdFusion instances patched by APSB26-68. Weaponization of -48283 is imminent.
- Role multiplier: ColdFusion occupies the application-tier server role in enterprise architectures. It is not a canonical high-value-role component (not a DC, hypervisor, or IdP), but it commonly holds database credentials in
neo-datasource.xmlwith reversible encryption, making it a credential-harvesting pivot point to production databases containing regulated data. In government agencies (ColdFusion's largest vertical), these servers often connect directly to citizen-data stores. The blast radius is host → database tier → regulated data exfiltration. This keeps the floor at HIGH; combined with zero-friction unauth RCE and active campaign context, the verdict remains CRITICAL. - Historical exploitation pattern: Every prior ColdFusion CKEditor/FCKEditor upload vulnerability (CVE-2018-15961, CVE-2023-26360) was exploited in the wild, often by APT groups. This is a proven, reliable attack class with established tooling.
Why not higher?
A CVSS 10.0 is the mathematical ceiling, and this is already CRITICAL. The minor 0.2-point reduction to 9.8 reflects the debatable Scope:Changed vector — code execution occurs on the same host, not a separate security authority. In every practical dimension this is at the top of the severity scale.
Why not lower?
Despite the relatively small internet-facing population (~800 per Shadowserver), downgrading below CRITICAL would ignore three decisive factors: (1) the attack requires zero authentication and zero user interaction through a default endpoint; (2) the sibling CVE is already KEV-listed with confirmed active exploitation against the same target population; and (3) ColdFusion's historical track record shows 100% exploitation rate for CKEditor upload vulnerabilities. The small external footprint is offset by significant internal deployment in government and financial sectors where ColdFusion is still widely used.
What to do — in priority order.
- Block the CKEditor upload endpoint at the reverse proxy / WAF immediately — Add a deny rule for URI path matching
*/ckeditor/plugins/filemanager/upload.cfm*on your reverse proxy (Apache, Nginx, IIS ARR) or WAF. This eliminates the attack surface entirely without touching ColdFusion. Deploy within the noisgate mitigation SLA of 3 days for CRITICAL. Test by confirming the endpoint returns 403. - Restrict access to the entire /cf_scripts/ directory — The
/cf_scripts/virtual directory serves ColdFusion client-side libraries and the CKEditor connector. Block external access to this path at the network edge. Internal applications that rely on CKEditor rich-text editing will need explicit allowlisting. This is a defense-in-depth measure that also mitigates CVE-2026-48313 and future CKEditor-related issues. - Deploy file integrity monitoring on ColdFusion webroot — Configure FIM (OSSEC, Wazuh, CrowdStrike, or Carbon Black) to alert on any new
.cfm,.jsp,.jspf, or.warfile creation under the ColdFusionwwwrootdirectory. This provides detection of successful exploitation even if the endpoint block is bypassed. Trigger immediate incident response on any alert. - Network-segment ColdFusion hosts away from domain controllers and database tiers — Place ColdFusion servers in a dedicated VLAN with explicit firewall rules allowing only required database ports (e.g., 1433 for MSSQL) and no SMB/RPC/LDAP access to domain controllers. This limits post-exploitation lateral movement and credential relay attacks. Apply within 3 days.
- Rotate database credentials stored in ColdFusion datasources — After patching, rotate all database passwords configured in the ColdFusion Administrator datasources. These credentials are stored in
neo-datasource.xmlwith reversible encryption that attackers can trivially decrypt with publicly available tools like ColdFusionPwn. Assume they are compromised if the server was exposed.
- Network-level IP allowlisting alone — if any allowed source IP is compromised (VPN, jump box, partner network), the attacker inherits the allowlist. The endpoint itself must be blocked or removed, not just access-controlled by IP.
- ColdFusion Administrator lockdown — disabling ColdFusion Administrator access (
/CFIDE/administrator/) does not protect the CKEditor upload endpoint, which is under/cf_scripts/— a completely separate path. Administrators often confuse these two attack surfaces. - Disabling RDS — RDS lockdown mitigates the sibling CVE-2026-48282 but has no effect on CVE-2026-48283, which uses the CKEditor connector, not the RDS FILEIO interface.
Crowdsourced verification payload.
Run this script from any Linux/macOS workstation (or WSL) that has network access to the target ColdFusion server. Invoke with: bash check_cve_2026_48283.sh https://coldfusion.example.com. No special privileges required — it only performs HTTP requests.
#!/usr/bin/env bash
# check_cve_2026_48283.sh — CVE-2026-48283 ColdFusion CKEditor Upload Check
# Usage: bash check_cve_2026_48283.sh <BASE_URL>
# Example: bash check_cve_2026_48283.sh https://coldfusion.example.com
# Requires: curl
# Exit codes: 1=VULNERABLE, 0=PATCHED, 2=UNKNOWN
set -euo pipefail
if [ $# -lt 1 ]; then
echo "Usage: $0 <BASE_URL>"
echo "Example: $0 https://coldfusion.example.com"
exit 2
fi
BASE_URL="${1%/}"
UPLOAD_PATH="/cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/upload.cfm"
TARGET="${BASE_URL}${UPLOAD_PATH}"
echo "[*] Checking CVE-2026-48283 against: ${BASE_URL}"
echo "[*] Probing CKEditor upload endpoint: ${TARGET}"
# Step 1: Check if the upload endpoint is reachable
HTTP_CODE=$(curl -sk -o /dev/null -w '%{http_code}' --max-time 10 "${TARGET}" 2>/dev/null || echo "000")
if [ "${HTTP_CODE}" = "000" ]; then
echo "[!] Could not connect to ${BASE_URL}"
echo "UNKNOWN"
exit 2
fi
if [ "${HTTP_CODE}" = "404" ] || [ "${HTTP_CODE}" = "403" ]; then
echo "[+] Upload endpoint returned HTTP ${HTTP_CODE} — endpoint blocked or removed."
echo "[+] This suggests the endpoint is not reachable (patched, WAF-blocked, or hardened)."
echo "PATCHED"
exit 0
fi
if [ "${HTTP_CODE}" = "200" ] || [ "${HTTP_CODE}" = "405" ] || [ "${HTTP_CODE}" = "500" ]; then
echo "[!] Upload endpoint returned HTTP ${HTTP_CODE} — endpoint EXISTS and is reachable!"
echo "[!] ColdFusion CKEditor filemanager upload.cfm is accessible."
# Step 2: Try to detect ColdFusion version from headers or admin page
CF_VERSION=$(curl -sk --max-time 10 "${BASE_URL}/CFIDE/adminapi/base.cfc?wsdl" 2>/dev/null | grep -oP 'ColdFusion[^<"]+' | head -1 || echo "")
if [ -n "${CF_VERSION}" ]; then
echo "[*] Detected: ${CF_VERSION}"
fi
echo ""
echo "[!!!] VULNERABLE — The CKEditor upload endpoint is reachable without authentication."
echo "[!!!] CVE-2026-48283 is likely exploitable on this host."
echo "[!!!] ACTION: Apply ColdFusion 2025 Update 10 or ColdFusion 2023 Update 21 immediately."
echo "[!!!] INTERIM: Block /cf_scripts/scripts/ajax/ckeditor/ at your reverse proxy or WAF."
echo "VULNERABLE"
exit 1
fi
echo "[?] Unexpected HTTP response code: ${HTTP_CODE}"
echo "UNKNOWN"
exit 2If you remember one thing.
Sources
- Adobe Security Bulletin APSB26-68
- Horizon3.ai — CVE-2026-48283 / CVE-2026-48313 Advisory
- watchTowr Labs — ColdFusion APSB26-68 Analysis
- BleepingComputer — ColdFusion flaw exploited in attacks
- Greenbone — CVE-2026-48282 Active Exploitation
- The Hacker News — Adobe Patches 7 CVSS 10.0 Flaws
- Rapid7 — ColdFusion CKEditor File Upload Module
- CISA KEV — ColdFusion CVE-2026-48282
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.