๐Ÿ” CVE Alert

CVE-2026-54238

LOW 3.1

Supabase Realtime: Expired JWTs with string exp are accepted by REST broadcast authorization

CVSS Score
3.1
EPSS Score
0.0%
EPSS Percentile
0th

Supabase Realtime provides Broadcast, Presence, and Postgres Changes via WebSockets. Prior to version 2.103.1, the REST broadcast endpoints accept an expired JWT when the exp claim is encoded as a JSON string instead of a JSON number. The same route rejects an expired integer exp token signed with the same tenant secret. The accepted request returns 202 and emits the broadcast to subscribers. This could allow an unauthenticated attacker can broadcast realtime messages to subscribers. The attack can be performed via the Internet/only from within the supabase project. The impact of broadcasting messages to subscribers is application specific. This issue has been patched in version 2.103.1.

CWE CWE-613
Vendor supabase
Product realtime
Published Oct 22, 2026
Stay Ahead of the Next One

Get instant alerts for supabase realtime

Be the first to know when new low vulnerabilities affecting supabase realtime are published โ€” delivered to Slack, Telegram or Discord.

Get Free Alerts โ†’ Free ยท No credit card ยท 60 sec setup

CVSS v3 Breakdown

CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Affected Versions

supabase / realtime
< 2.103.1

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
github.com: https://github.com/supabase/realtime/security/advisories/GHSA-hg9h-6mhq-6c2v github.com: https://github.com/supabase/realtime/pull/1934 github.com: https://github.com/supabase/realtime/commit/ac229d7eff2798b12b994e07bdd64f5e9b56374a github.com: https://github.com/supabase/realtime/releases/tag/v2.103.1