Skip to main content

Centrifugo EUVDEUVD-2026-63649

| CVE-2026-71485 CRITICAL
Authentication Bypass by Spoofing (CWE-290)
2026-08-20 GitHub_M GHSA-9468-v6mj-fppw
9.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open client connection to Centrifugo
  2. Delivery
    Set x-trusted-user in ConnectRequest headers
  3. Exploit
    Centrifugo forwards allowlisted header to backend
  4. Execution
    Backend authorizes spoofed identity
  5. Impact
    Impersonate 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

centrifugo < 6.9.0

Affected Packages

go github.com/centrifugal/centrifugo fix: 6.9.0
go github.com/centrifugal/centrifugo/v3 no fix
go github.com/centrifugal/centrifugo/v4 no fix
go github.com/centrifugal/centrifugo/v5 no fix
go github.com/centrifugal/centrifugo/v6 fix: 6.9.0
euvd centrifugo fix: 6.9.0

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

Vendor (GitHub_M) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 9.1 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Aug 20, 2026 - 22:04 EUVD
CVE Published
Aug 20, 2026 - 21:01 cve.org
CRITICAL 9.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
popular open-source real-time messaging server, common but not ubiquitous
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy