Read the docs
TI-2026-36829 Aliases CVE-2026-49998GHSA-g6vg-wj8f-48cj

Centrifugo: Dynamic JWKS key cache keyed only by `kid` allows cross-issuer JWT authentication bypass

Priority HIGH 71CWE-347Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
High
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-347.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.0022 12th percentileScored 2026-11-07
Fix Fixed centrifugo (centrifugal): 6.8.1github.com/centrifugal/centrifugo/v6 (Go): 6.8.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
centrifugalcentrifugobefore 6.8.16.8.1Patch availableCNA
—github.com/centrifugal/centrifugo/v6 (Go)before 6.8.16.8.1Patch availableGHSA-g6vg-wj8f-48cj
—github.com/centrifugal/centrifugo/v5 (Go)up to 5.4.9—No fix listedGHSA-g6vg-wj8f-48cj
—github.com/centrifugal/centrifugo/v4 (Go)up to 4.1.5—No fix listedGHSA-g6vg-wj8f-48cj
—github.com/centrifugal/centrifugo/v3 (Go)up to 3.2.3—No fix listedGHSA-g6vg-wj8f-48cj
—github.com/centrifugal/centrifugo (Go)up to 2.4.0—No fix listedGHSA-g6vg-wj8f-48cj
  • centrifugo Vendorcentrifugal Affected before 6.8.1 Fixed in 6.8.1 Patch available CNA
  • github.com/centrifugal/centrifugo/v6 (Go) Vendor— Affected before 6.8.1 Fixed in 6.8.1 Patch available GHSA-g6vg-wj8f-48cj
  • github.com/centrifugal/centrifugo/v5 (Go) Vendor— Affected up to 5.4.9 Fixed in — No fix listed GHSA-g6vg-wj8f-48cj
  • github.com/centrifugal/centrifugo/v4 (Go) Vendor— Affected up to 4.1.5 Fixed in — No fix listed GHSA-g6vg-wj8f-48cj
  • github.com/centrifugal/centrifugo/v3 (Go) Vendor— Affected up to 3.2.3 Fixed in — No fix listed GHSA-g6vg-wj8f-48cj
  • github.com/centrifugal/centrifugo (Go) Vendor— Affected up to 2.4.0 Fixed in — No fix listed GHSA-g6vg-wj8f-48cj

Remediation

  • Fix · CNA centrifugo (centrifugal) Fixed in 6.8.1
  • Fix · GHSA-g6vg-wj8f-48cj github.com/centrifugal/centrifugo/v6 (Go) Fixed in 6.8.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-49998
  2. 2026-10-03 Alias added: GHSA-g6vg-wj8f-48cj

References

  • TI-2026-24830 Centrifugo: SSRF via unverified JWT claims interpolated into dynamic JWKS endpoint URL CVSS 3.1CRITICAL 9.3
  • TI-2026-50096 Centrifugo: Client-forgeable headers emulation lets any client spoof headers forwarded to proxy backends CVSS 3.1CRITICAL 9.1
  • TI-2026-44987 Centrifugo: Decompression bomb DoS via permessage-deflate in unidirectional WebSocket transport CVSS 4.0HIGH 8.7

Sources