PT-2026-54774 · Unknown · Centrifugo

Published

2026-07-01

·

Updated

2026-07-07

·

CVE-2026-49998

CVSS v3.1

8.2

High

VectorAV: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 endpoint
  • client.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

CVE-2026-49998
GHSA-G6VG-WJ8F-48CJ
GO-2026-5872

Affected Products

Centrifugo