Summary
CVE-2026-73665 is a critical, unauthenticated remote code execution vulnerability in the FreePBX User Control Panel (UCP) Node server, affecting FreePBX 17 installations running the UCP module prior to version 17.0.9. An authentication gap in the Socket.IO layer allows a network attacker with no credentials to reach the Asterisk Manager Interface (AMI) and inject commands that execute as the asterisk service user. The flaw carries a CVSS v4.0 base score of 9.3 (Critical).
Technical details
- Root cause: The UCP Node server authenticates Socket.IO connections via a
checkAuthmiddleware, but this middleware is only applied to the default Socket.IO namespace. Behavior changes in Socket.IO v4 mean custom namespaces are not covered by this middleware, leaving them unauthenticated. - Trigger conditions: An attacker only needs network access to the UCP Node server, which listens by default on TCP port 8001 (non-TLS) or 8003 (TLS).
- Attack vector: By connecting directly to an unprotected custom Socket.IO namespace, an unauthenticated attacker can send crafted events that are relayed into Asterisk Manager Interface (AMI) actions. Insufficient sanitization of these events allows injection of carriage-return/newline characters, enabling arbitrary AMI command injection.
- Impact: Successful exploitation results in arbitrary command execution with the privileges of the
asteriskservice account — full compromise of the PBX, with no authentication or user interaction required.
Affected software
- FreePBX 17 — UCP (Unified Communications Portal) module, versions prior to 17.0.9
- Fixed in UCP module version 17.0.9
Severity
- CVSS v4.0 Base Score: 9.3 (Critical)
- Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CWE-862: Missing Authorization
- Vendor-assigned urgency: Red (immediate action recommended)
Mitigation and recommended actions
- Immediate: Upgrade the FreePBX UCP module to version 17.0.9 or later.
- Network mitigation (if immediate patching is not possible): Restrict network access to UCP ports 8001/8003 using the FreePBX Firewall module, and enable the Responsive Firewall so UCP is only reachable from IPs that have successfully registered SIP endpoints with the PBX.
- Access review: Audit and tighten the IP ranges assigned to Trusted and Local zones under Connectivity → Firewall → Networks to minimize exposure.
- Verification: Confirm the patched state by checking for the
<meta http-equiv="x-pjax-version" content="v17.0.9">tag on the UCP login page.

