NetSight
high8.2

CVE-2026-49998

Centrifugo's dynamic JWKS key cache keyed only by `kid` allows cross-issuer JWT authentication bypass

Impact

Centrifugo is an open-source scalable real-time messaging server. Prior to 6.8.1, Centrifugo dynamic JWKS endpoint verification could reuse a key for one allowed issuer to verify a JWT for another allowed issuer because the JWKS cache and singleflight lookup were keyed only by JWT header kid, not by the resolved JWKS endpoint, issuer, audience, or trust-domain namespace, affecting client.token.jwks_public_endpoint, client.subscription_token.jwks_public_endpoint, internal/jwks/cache.go, and internal/jwks/manager.go. This issue is fixed in version 6.8.1.

Affected packages

EcosystemPackageAffectedFixed in
gogithub.com/centrifugal/centrifugo/v6<= 6.8.06.8.1
gogithub.com/centrifugal/centrifugo/v5<= 5.4.9none recorded
gogithub.com/centrifugal/centrifugo/v4<= 4.1.5none recorded
gogithub.com/centrifugal/centrifugo/v3<= 3.2.3none recorded
gogithub.com/centrifugal/centrifugo<= 2.4.0none recorded

Weakness classification

References