Summary
CVE-2026-63647 is a critical missing-authentication vulnerability (CWE-306, CWE-639) in 1Panel-dev’s CordysCRM, an open-source CRM platform. The SSE (Server-Sent Events) endpoints used for real-time notifications are exposed without any authentication check, allowing unauthenticated network attackers to hijack, inject into, or terminate other users’ notification streams. The flaw is rated 9.3 (Critical) and affects all CordysCRM versions prior to 1.7.2.
Technical details
- Root cause: CordysCRM’s
SseControllerexposes the/sse/subscribe,/sse/broadcast, and/sse/closeendpoints as anonymous/public paths in the application’s Shiro filter chain configuration (ShiroFilter.addPublicPathFilters). - These endpoints trust a caller-supplied
userIdparameter to identify the target notification stream instead of deriving identity from an authenticated session/principal. - Attack vector: network, no authentication or user interaction required — an attacker only needs to reach the exposed HTTP endpoints and supply an arbitrary
userId. - Impact: an unauthenticated attacker can use
/sse/subscribeto read another user’s workflow events, approval requests, mentions, and alerts; use/sse/broadcastto inject fabricated messages (e.g., fake heartbeat/system messages) into another user’s stream; and use/sse/closeto forcibly terminate another user’s active notification channel, resulting in confidentiality, integrity, and availability impact.
Affected software
- 1Panel-dev CordysCRM: all versions prior to 1.7.2
Severity
- CVSS Base Score: 9.3 (Critical)
- CVSS v4.0 Vector: AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade CordysCRM to version 1.7.2 or later, where the SSE endpoints have been secured behind proper authentication checks.
- If immediate patching is not possible: restrict or block direct external access to the
/sse/subscribe,/sse/broadcast, and/sse/closepaths using a web application firewall or reverse proxy access controls, and review the Shiro filter chain configuration to ensure sensitive endpoints are not marked as public/anonymous.

