Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable endpoint requiring only low-privilege authentication; no availability impact; high confidentiality and integrity impact confined to the vulnerable channel scope.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
3DescriptionCVE.org
Spacebar Server before commit dcfd910 contains a missing authorization vulnerability that allows any authenticated attacker to add themselves to arbitrary group DM channels by sending a PUT request to the channels recipient endpoint without membership verification. Attackers can exploit the unguarded PUT /channels/{channel_id}/recipients/{user_id} handler to join private group DMs, read complete message history, post messages as a participant, and force-add third-party users without their consent.
AnalysisAI
Missing authorization on the group DM recipient endpoint in Spacebar Server allows any authenticated user to add themselves or arbitrary third parties to private group DM channels without being a member. Versions prior to commit dcfd91035e3da42abf5f32d8d86a35219225b3d4 expose the unguarded PUT /channels/{channel_id}/recipients/{user_id} handler, granting attackers full read and write access to private conversation history. No public exploit code or active exploitation has been identified at time of analysis, but the commit diff and GHSA advisory are publicly available, lowering the bar for exploitation.
Technical ContextAI
Spacebar Server is an open-source, self-hosted implementation of the Discord backend API, written in TypeScript and built on Node.js. The vulnerability resides in src/api/routes/channels/#channel_id/recipients.ts, which handles the PUT /channels/{channel_id}/recipients/{user_id} REST endpoint. CWE-862 (Missing Authorization) describes the root cause: the handler accepted authenticated requests and modified channel membership state without first verifying that the requesting user was already a participant in the target channel. The fix (commit dcfd910) inserts a guard that checks channel.recipients for the requesting user's user_id and throws UNKNOWN_CHANNEL if the caller is not already a member, preventing unauthorized membership escalation.
RemediationAI
The primary fix is to update Spacebar Server to or beyond commit dcfd91035e3da42abf5f32d8d86a35219225b3d4, available at https://github.com/spacebarchat/server/commit/dcfd91035e3da42abf5f32d8d86a35219225b3d4. The patch adds a membership verification check before processing any PUT /channels/{channel_id}/recipients/{user_id} requests. If an immediate upgrade is not feasible, a compensating control is to configure a reverse proxy (e.g., nginx) to block or restrict access to the PUT /channels/*/recipients/* route pattern to trusted internal IP ranges, accepting the trade-off that legitimate group DM recipient management will also be disrupted. Alternatively, disabling open user registration reduces the attacker pool to already-trusted accounts. The GHSA advisory at https://github.com/spacebarchat/server/security/advisories/GHSA-g38j-78fh-jm74 should be consulted for any additional vendor guidance.
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53604
GHSA-cvxj-chgr-r353