Summary
CVE-2026-104057 is an unauthenticated denial-of-service vulnerability in Podgrab, an open-source self-hosted podcast manager (akhilrex/podgrab), caused by unsynchronized concurrent access to shared in-memory maps in the application’s WebSocket handling code. A remote, unauthenticated attacker can crash the Podgrab process by abusing the /ws WebSocket endpoint, forcing operators to manually restart the service. The issue has a CVSS v4.0 score of 8.7 (High) and CWE-362 (Improper Synchronization) classification.
Technical details
- Root cause: Podgrab maintains two shared Go maps,
activePlayersandallConnections, used to track WebSocket client state. These maps are read and written concurrently by theWshandlerandHandleWebsocketMessagesgoroutines without any mutex or other synchronization primitive protecting them. - Trigger conditions: Go’s built-in map type is not safe for concurrent read/write access; when two goroutines access the same map at the same time, the Go runtime detects the data race and raises a fatal, unrecoverable panic that terminates the process (this bypasses normal panic/recover error handling).
- Attack vector: An attacker opens multiple concurrent WebSocket connections to the
/wsendpoint and rapidly sends messages over them in a loop, driving the concurrent map accesses that trigger the crash. No authentication or user interaction is required, and in some configurations the/wsroute is reachable even when the instance has Basic Auth/password protection enabled, since it was registered outside the authenticated route group. - Impact: Full denial of service — the Podgrab process crashes and does not recover on its own, requiring operator intervention to restart the service.
Affected software
- akhilrex/podgrab — all versions/builds up to and including commit
032248091294dbf5b6a439a5afd93788a7cc647f
Severity
- CVSS v4.0: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS v3.1: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Mitigation and recommended actions
- Immediate: No official patched release has been published by the project as of disclosure; organizations running Podgrab should monitor the upstream repository (akhilrex/podgrab) for a fix that adds proper synchronization (e.g.,
sync.RWMutexorsync.Map) aroundactivePlayersandallConnections, and that registers the/wsroute under the authenticated route group. - If no patch is available: Restrict network access to the Podgrab instance and its
/wsWebSocket endpoint to trusted hosts/IPs only (e.g., via firewall rules, VPN, or reverse-proxy access controls), and avoid exposing Podgrab directly to the public internet. Monitor the service for unexpected crashes and consider placing it behind a process supervisor configured for automatic restart to reduce downtime until a fix is applied.

