GHSA-xv8g-fj9h-6gmv: Github.com/shi gg/linkdave Linkdave Missing Authentication On REST Vulnerability
CRITICALGHSA-xv8g-fj9h-6gmv is a CRITICAL linkdave missing authentication on rest vulnerability (CWE-306: Missing Authentication for Critical Function) affecting Github.com/shi gg/linkdave libraries in the Go ecosystem. The issue involves linkdave missing authentication on rest and websocket endpoints. Remediation is available by upgrading affected packages to version 0.1.5.
GHSA-xv8g-fj9h-6gmv at a Glance
How to Fix GHSA-xv8g-fj9h-6gmv
To remediate this vulnerability, upgrade all affected Github.com/shi gg/linkdave dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/shi-gg/linkdave to 0.1.5
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/shi-gg/linkdave
How to Check if You Are Affected
To determine whether your application is affected by GHSA-xv8g-fj9h-6gmv, inspect your project dependencies for Github.com/shi gg/linkdave:
inspect dependencies for github.com/shi-gg/linkdave
Analyze the terminal output to locate any version of Github.com/shi gg/linkdave in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.1.5), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-306: Missing Authentication for Critical Function, where the product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources. In Github.com/shi gg/linkdave, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-xv8g-fj9h-6gmv Affected Github.com/shi gg/linkdave Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/shi-gg/linkdave
|
Go |
< 0.1.5
|
0.1.5
|
References
Frequently Asked Questions
What is GHSA-xv8g-fj9h-6gmv?
Which Github.com/shi gg/linkdave versions are affected?
What version fixes GHSA-xv8g-fj9h-6gmv?
Is github.com/shi-gg/linkdave affected?
What CWE is associated with GHSA-xv8g-fj9h-6gmv?
How can I check Go dependencies for GHSA-xv8g-fj9h-6gmv?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-xv8g-fj9h-6gmv",
"modified" : "2026-03-10T19:27:55Z",
"published" : "2026-03-10T01:18:20Z",
"aliases" : [ ],
"summary" : "Linkdave Missing Authentication on REST and WebSocket endpoints",
"details" : "The `linkdave` server does not enforce authentication on its REST and WebSocket routes in versions prior to `0.1.5`.\n\n### Impact\n\nAn attacker with network access to the server port can:\n- Connect to the WebSocket endpoint (`/ws`) and receive a valid `session_id` in the `OpReady` response.\n- Use that session to invoke all REST player controls on any guild corresponding to their session id[1].\n- Enumerate server statistics and runtime information via the unauthenticated `/stats` endpoint (still public after the fix).\n\n[1] If on [`>=0.1.0`](https://github.com/shi-gg/linkdave/releases/tag/v0.1.0), attackers are restricted to creating, controlling and deleting players created within their own session ID.\n\n### Vulnerable Routes\n\nThe following routes were entirely unauthenticated in `>= 0.0.1, < 0.1.5`:\n\n| Method | Path | Description |\n|--------|------|-------------|\n| `POST` | `/sessions/{session_id}/players/{guild_id}/play` | Start audio playback |\n| `POST` | `/sessions/{session_id}/players/{guild_id}/pause` | Pause playback |\n| `POST` | `/sessions/{session_id}/players/{guild_id}/resume` | Resume playback |\n| `POST` | `/sessions/{session_id}/players/{guild_id}/stop` | Stop playback |\n| `POST` | `/sessions/{session_id}/players/{guild_id}/seek` | Seek to position |\n| `PATCH` | `/sessions/{session_id}/players/{guild_id}/volume` | Set volume |\n| `DELETE` | `/sessions/{session_id}/players/{guild_id}` | Disconnect from voice channel |\n| `GET` | `/ws` | WebSocket event stream |\n\n### Patches\n\nUpdate to [`0.1.5`](https://github.com/shi-gg/linkdave/commit/0f9a00d9d549b16278db81fce6dfec350c2abc01).\n\n```diff\n- image: ghcr.io/shi-gg/linkdave:0.1.4\n+ image: ghcr.io/shi-gg/linkdave:latest\n```\nor\n```sh\ndocker pull ghcr.io/shi-gg/linkdave:latest\n```\n\nAfter upgrading, set the `LINKDAVE_PASSWORD` environment variable to a strong secret value. If this variable is left unset, the server will still accept all connections without authentication even on `>= 0.1.5`.\n\n**Server configuration (e.g. `compose.yml`):**\n```sh\nenvironment:\n LINKDAVE_PASSWORD: ${LINKDAVE_PASSWORD}\n```\n```sh\necho \"LINKDAVE_PASSWORD=$(openssl rand -hex 16)\" >> .env\n```\n\nTo restart the stack, run\n```sh\ndocker compose up -d\n```\n\n**TypeScript client (`0.1.5+`):**\n\nThe client automatically handles authentication. Pass the password when constructing the client:\n```ts\nconst linkdave = new LinkDaveClient({\n nodes: [\n {\n name: \"main\",\n url: process.env.LINKDAVE_URI,\n password: process.env.LINKDAVE_PASSWORD\n }\n ]\n});\n```\n\n### Workarounds\n\nIf upgrading is not immediately possible, restrict network access to the server's port using a firewall so it is only accessible from trusted internal IP addresses.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "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"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/shi-gg/linkdave"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.1.5"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/shi-gg/linkdave/security/advisories/GHSA-xv8g-fj9h-6gmv"
}, {
"type" : "WEB",
"url" : "https://github.com/shi-gg/linkdave/commit/0f9a00d9d549b16278db81fce6dfec350c2abc01"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/shi-gg/linkdave"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-306" ],
"severity" : "CRITICAL",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-10T01:18:20Z",
"nvd_published_at" : null
}
}