Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOpen client connection to Centrifugo
-
DeliverySet x-trusted-user in ConnectRequest headers
-
ExploitCentrifugo forwards allowlisted header to backend
-
ExecutionBackend authorizes spoofed identity
-
ImpactImpersonate user, bypass authorization
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that Centrifugo is deployed with a proxy (HTTP via internal/proxy/http.go, gRPC via internal/proxy/grpc.go, or unidirectional gRPC via internal/unigrpc/grpc.go) and that the backend relies on a client-forwardable header/metadata value - the advisory names x-trusted-user - for authentication or authorization. The exact prerequisite is a backend that trusts an emulated/forwarded header allowlisted by Centrifugo; where that header governs identity, a remote client can spoof it for connect, refresh, subscribe, publish, and RPC calls. Limiting factors: deployments that do not use proxy mode, do not forward headers, or authenticate via signed JWTs rather than trusted headers are not exploitable. The unidirectional gRPC transport is the most exposed because no transport-level HTTP header can override the client-supplied emulated value. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, 9.1) reflects a network-reachable, low-complexity, unauthenticated spoofing primitive with high confidentiality and integrity impact and no availability impact - consistent with an auth-bypass that lets a client assume another identity. The real-world severity is strongly conditional: it only matters when the deployment uses Centrifugo proxy/emulated-header mode AND the backend actually trusts a forwarded header (e.g. x-trusted-user) for authn/authz. In that configuration the impact is severe and effectively unauthenticated; in deployments not using header-based backend trust, exposure is minimal. No EPSS score, KEV entry, POC, or SSVC decision data was provided, so exploitation likelihood cannot be quantified from the input - the priority rests on configuration exposure rather than on observed exploitation. This is a genuine high-priority issue for affected configurations rather than a purely theoretical high-CVSS finding. |
| Exploit ScenarioDerived | An attacker opens a normal client connection to a Centrifugo server that runs in proxy mode where the backend authenticates users by a forwarded x-trusted-user header. The attacker sets that header value in the ConnectRequest emulated-headers map to a victim or privileged username; Centrifugo forwards it to the backend as a trusted header, and the backend authorizes the attacker as that identity for connect/subscribe/publish/RPC. No public POC is identified in the provided data, but the low attack complexity and network vector make exploitation straightforward against a vulnerable configuration. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Authentication bypass in Centrifugo real-time messaging server before 6.9.0 lets a remote client spoof trusted proxy headers by populating the client-controlled protocol.ConnectRequest.headers map, which Centrifugo copies and forwards to backend proxies as trusted headers or gRPC metadata. When a backend relies on a header such as x-trusted-user for authentication or authorization, an attacker can impersonate arbitrary users across connect, refresh, subscribe, publish, and RPC proxy calls. Rated CVSS 9.1 (high confidentiality and integrity impact); there is no public exploit identified at time of analysis and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to Centrifugo 6.9.0, which fixes the header-spoofing behavior (release https://github.com/centrifugal/centrifugo/releases/tag/v6.9.0; fix in PR https://github.com/centrifugal/centrifugo/pull/1182 and commit 84d38cea1dd2efa24375a148817a974c8727f4b0; advisory https://github.com/centrifugal/centrifugo/security/advisories/GHSA-9468-v6mj-fppw). If you cannot upgrade immediately, stop trusting client-forwardable headers for authentication: remove sensitive headers like x-trusted-user from the proxy header/metadata allowlist so they cannot be forwarded (trade-off: any legitimate backend logic keying on that forwarded header must be reworked to use a server-set value or the connection JWT instead), and prefer Centrifugo's signed JWT-based authentication over header-based backend trust. For the unidirectional gRPC transport specifically, note there is no transport-level header to override the emulated value, so header-based trust there cannot be safely retained pre-patch and should be disabled until you upgrade.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 6 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Centrifugo is a standalone open-source real-time messaging server (WebSocket/HTTP/gRPC transports, pub/sub) commonly deployed in front of an application backend that it calls via HTTP or gRPC 'proxy' hooks. The flaw is CWE-290 (Authentication Bypass by Spoofing): the emulated header map carried in protocol.ConnectRequest.headers is client-supplied but is trusted after an allowlist copy. Per the advisory, OnClientConnecting in internal/client/handler.go, ConnectEvent.Headers, and SetEmulatedHeadersToContext propagate these values, and the requestHeaders path (internal/proxy/http.go), requestMetadata path (internal/proxy/grpc.go), and Consume path (internal/unigrpc/grpc.go) then emit an allowlisted value as a trusted backend header/metadata field. The unidirectional gRPC transport is the sharpest case because it has no transport-level HTTP header that would override the emulated (client-supplied) value.
Know when Centrifugo gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Remote client spoofs a forwarded header with no authentication (PR:N, AV:N, AC:L); impact is impersonation affecting confidentiality and integrity (C:H/I:H) with no availability effect, though real impact depends on backend header trust.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Centrifugo is an open-source scalable real-time messaging server. Prior to 6.9.0, Centrifugo copies the client-controlled protocol.ConnectRequest.headers map through OnClientConnecting in internal/client/handler.go, ConnectEvent.Headers, and SetEmulatedHeadersToContext. The requestHeaders path in internal/proxy/http.go, the requestMetadata path in internal/proxy/grpc.go, and the Consume path in internal/unigrpc/grpc.go can forward an allowlisted value as a trusted backend header or metadata value. A remote client can spoof a header such as x-trusted-user for connect, refresh, subscribe, publish, RPC, and related proxy calls when the backend relies on that header for authentication or authorization. The unidirectional gRPC transport has no transport-level HTTP header that can override the emulated value. This issue is fixed in version 6.9.0.
Executive ViewAI
Centrifugo real-time messaging server before version 6.9.0 contains an authentication bypass vulnerability (CVSS 9.1) that allows remote clients to impersonate legitimate users by spoofing proxy headers. Organizations using Centrifugo with backend authentication systems that rely on proxy headers face immediate risk of unauthorized access, data theft, and privilege escalation. No public exploit identified at time of analysis.
No vendor-released patch identified at time of analysis. Interim mitigations include: implementing cryptographic signature or token validation on the backend to confirm header authenticity independent of Centrifugo, network segmentation to restrict Centrifugo client access to trusted systems only, disabling header forwarding functionality if not operationally required, and deploying behavioral monitoring for authentication anomalies such as rapid user-switching, impossible geolocation changes, or requests from unusual sources that may indicate header spoofing attacks.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-63649
GHSA-9468-v6mj-fppw
NVD
CVE.org
EPSS
VulDB
Exploit-DB