Security Digest · Critical advisory (no CVE assigned)

GHSA-xv8g-fj9h-6gmv: Linkdave Missing Authentication on REST and WebSocket endpoints

The linkdave server does not enforce authentication on its REST and WebSocket routes in versions prior to 0.1.5.

CVSS 9.3 Critical GitHub-reviewed · critical

Should you act?

  • Only if you depend on one of the packages below, directly or transitively, in a vulnerable version. Check your lockfile with govulncheck ./....
  • No CVE has been assigned, so it will not appear in CVE-based scanners that ignore GitHub advisories. npm audit, pip-audit and Dependabot do read GitHub advisories.

Affected packages

EcosystemPackageVulnerableFirst fixed
Gogithub.com/shi-gg/linkdave< 0.1.50.1.5

Details

The linkdave server does not enforce authentication on its REST and WebSocket routes in versions prior to 0.1.5.

Impact

An attacker with network access to the server port can: - Connect to the WebSocket endpoint (/ws) and receive a valid sessionid in the OpReady response. - Use that session to invoke all REST player controls on any guild corresponding to their session id[1]. - Enumerate server statistics and runtime information via the unauthenticated /stats endpoint (still public after the fix).

[1] If on >=0.1.0, attackers are restricted to creating, controlling and deleting players created within their own session ID.

Vulnerable Routes

The following routes were entirely unauthenticated in >= 0.0.1,

| Method | Path | Description | |--------|------|-------------| | POST | /sessions/{sessionid}/players/{guildid}/play | Start audio playback | | POST | /sessions/{sessionid}/players/{guildid}/pause | Pause playback | | POST | /sessions/{sessionid}/players/{guildid}/resume | Resume playback | | POST | /sessions/{sessionid}/players/{guildid}/stop | Stop playback | | POST | /sessions/{sessionid}/players/{guildid}/seek | Seek to position | | PATCH | /sessions/{sessionid}/players/{guildid}/volume | Set volume | | DELETE | /sessions/{sessionid}/players/{guildid} | Disconnect from voice channel | | GET | /ws | WebSocket event stream |

Patches

CVSS: 9.3 (v4.0) CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Sources and references

  1. GitHub Advisory GHSA-xv8g-fj9h-6gmv github.com
  2. github.com github.com
  3. github.com github.com

Critical Go advisories · Today’s Security Digest