CVE-2026-49338 Subsonic API: any authenticated user can delete or read any other user's playlist (IDOR)
Authenticated users can delete or read any other user's private playlists due to missing per-resource authorization checks in the Subsonic API.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-49338?
CVE-2026-49338 is a high-severity missing authorization vulnerability in sentriz gonic, published on 19 Jun 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
gonic is a music streaming server / free-software subsonic server API implementation. Prior to version 0.21.0, the Subsonic API endpoints `/rest/deletePlaylist.view` and `/rest/getPlaylist.view` perform no per-resource authorization. Once authenticated as any user (admin or not), an attacker can delete any playlist owned by any other user (including admin) by passing its `id` and read the full contents (name, comment, song list) of any other user's **private** (non-public) playlist by passing its `id`. The Subsonic playlist `id` is `base64url("<userID>/<filename>.m3u")`. Because filenames are user-supplied or time-derived and the `userID` is a small integer, IDs are guessable and frequently exposed (e.g. a previously-public playlist that was later made private still has the same ID). This breaks the multi-user trust boundary of gonic: a low-privileged user can wipe an administrator's curated playlists, and a user can exfiltrate any private playlist they obtain an ID for. The issue was fixed in commit `6dd71e6a3c966867ef8c900d359a7df75789f410`, which is part of version 0.21.0.
Which versions are affected by CVE-2026-49338?
3 open source packages ship an affected version, including go.senan.xyz/gonic.
| Package | Affected | Fixed in |
|---|---|---|
go.senan.xyz/gonic Go | All versions | 0.21.0 |
go.senan.xyz/gonic Go | All versions | 0.21.0 |
go.senan.xyz/gonic Go | All versions | 0.21.0 |
How do I fix CVE-2026-49338?
Upgrade go.senan.xyz/gonic to 0.21.0 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-49338 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-49338 exists.
Sources
Also known as GHSA-hmgp-w9jm-vp95, GO-2026-5830.