PT-2026-54774 · Unknown · Centrifugo
Published
2026-07-01
·
Updated
2026-07-07
·
CVE-2026-49998
CVSS v3.1
8.2
High
| Vector | AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N |
Name of the Vulnerable Software and Affected Versions
Centrifugo (affected versions not specified)
Description
Centrifugo contains a cross-tenant JWT authentication bypass when using dynamic JWKS (JSON Web Key Set) endpoints. The issue occurs because the JWKS cache and
singleflight lookup are keyed only by the JWT header kid (Key ID), ignoring the resolved JWKS endpoint, issuer, or audience. In multi-tenant configurations where JWKS URLs are templated based on iss or aud claims, an attacker with a valid token for one tenant can authenticate as a user of another tenant if both tenants use the same kid value and the attacker's key is cached first.This affects the following configuration options:
client.token.jwks public endpointclient.subscription token.jwks public endpoint
The vulnerability is triggered during the execution of
VerifyConnectToken() and VerifySubscribeToken() functions, where the system fails to scope cached keys to the specific trust domain of the issuer.Recommendations
At the moment, there is no information about a newer version that contains a fix for this vulnerability.
As a temporary mitigation, avoid using the
client.token.jwks public endpoint and client.subscription token.jwks public endpoint configuration options with templated URLs that derive from JWT claims if multiple issuers are supported.Improper Verification of Cryptographic Signature
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Centrifugo