Gemiddeld · 4.8 Node.js & npm GHSA-3cj3-hqcr-g934 CVE-2026-59723
Cline Hub Dashboard: Cross-Origin WebSocket Hijacking maakt lokale code-uitvoering mogelijk (CVE-2026-59723)
De Cline Hub-dashboardserver, gestart via het CLI-commando `cline dashboard`, accepteert WebSocket-verbindingen op het `/browser`-eindpunt zonder de Origin-header te controleren. In de standaard lokale configuratie kan hierdoor elke website die een ontwikkelaar bezoekt de dashboardsessie kapen, instellingen aanpassen en mogelijk commando's uitvoeren op de machine van de ontwikkelaar.
AI-samenvatting
Er is een kwetsbaarheid bekendgemaakt in `@cline/cline-hub`, het dashboardserver-onderdeel van het Cline-project dat wordt gestart via het CLI-commando `cline dashboard`. Het probleem, geregistreerd als CVE-2026-59723 (GHSA-3cj3-hqcr-g934), betreft Cross-Origin WebSocket Hijacking (CWE-346) op het `/browser`-eindpunt. Het treft de standaard lokale configuratie van het dashboard en kan ervoor zorgen dat een kwaadaardige webpagina zonder enige authenticatie kan communiceren met een actieve Cline-dashboardsessie. Er is een gerepareerde versie beschikbaar, 3.0.30.
Wat is er gebeurd
Een beveiligingsadvies beschrijft een Cross-Origin WebSocket Hijacking-kwetsbaarheid in het `/browser`-WebSocket-eindpunt van de Cline Hub-dashboardserver. Wanneer het dashboard wordt gestart met de standaard lokale configuratie (gebonden aan 127.0.0.1) en er geen omgevingsvariabele `ROOM_SECRET` is ingesteld, staat de autorisatiecontrole van de server verbindingen onvoorwaardelijk toe, en controleert de server de HTTP Origin-header bij WebSocket-upgradeverzoeken niet. Hierdoor kan JavaScript dat draait op een willekeurige website die een ontwikkelaar toevallig bezoekt, een WebSocket-verbinding openen naar het lokale dashboard en daar commando's naartoe sturen.
Technische oorzaak
Volgens het advies zet de functie `normalizeRoomSecret()` van het dashboard een niet-ingestelde of lege omgevingsvariabele `ROOM_SECRET` om naar `undefined`, en mag de standaard lokale host (127.0.0.1) opstarten zonder geheim. De functie `isAuthorizedBrowserRequest()` geeft vervolgens onvoorwaardelijk `true` terug zodra `roomSecret` `undefined` is, en nergens in het WebSocket-upgradepad voor het `/browser`-eindpunt wordt de Origin-header gecontroleerd. Browsers sturen de Origin-header wel mee bij WebSocket-verbindingen, maar de handhaving ervan ligt bij de server; omdat de server deze header niet inspecteert, kan elke cross-origin pagina verbinding maken. Daarnaast worden dashboardsessies standaard aangemaakt met een toolbeleid van `autoApprove: true` voor alle tools, en schrijft een command-handler voor `upsert_mcp_server` door de aanvaller aangeleverde MCP-serverconfiguraties (inclusief willekeurige `stdio`-commando's en argumenten) rechtstreeks naar het Cline-instellingenbestand, zonder verdere autorisatiecontroles.
Waarom dit belangrijk is
Omdat het dashboard standaard aan een lokale poort bindt en geen Origin-validatie uitvoert, heeft een aanvaller geen netwerktoegang tot de machine van het slachtoffer nodig — één bezoek aan een kwaadaardige of gecompromitteerde webpagina terwijl het dashboard draait, is voldoende om het probleem te activeren. Het advies beschrijft een bevestigde proof-of-concept waarbij een cross-origin pagina een kwaadaardige `stdio`-MCP-serverinvoer injecteert in het Cline-instellingenbestand van het slachtoffer, waarna een shell-commando wordt uitgevoerd zodra Cline die MCP-server de volgende keer activeert. Omdat door het dashboard aangemaakte sessies standaard alle tools automatisch goedkeuren, zou een aanvaller die toegang krijgt tot een actieve sessie met een geconfigureerde AI-provider de agent mogelijk ook kunnen aansturen om bestandsbewerkingen uit te voeren, commando's te draaien of inloggegevens uit de omgeving van de ontwikkelaar te benaderen, zonder dat daarbij een bevestigingsprompt wordt getoond.
Wie wordt hierdoor getroffen
Ontwikkelaars die het commando `cline dashboard` uit het npm-pakket `cline` uitvoeren in de standaard lokale configuratie (host 127.0.0.1, geen `ROOM_SECRET` ingesteld) worden getroffen. De proof-of-concept uit het advies werd gedemonstreerd tegen `cline`-versie 3.0.24. Het getroffen versiebereik omvat versies van `cline` vanaf versie 0 tot, maar niet inclusief, de gerepareerde versie 3.0.30.
Getroffen versies
Volgens de versiebereikgegevens uit het advies zijn versies van `cline` vanaf 0 tot (maar niet inclusief) 3.0.30 getroffen.
Oplossingen en mitigatie
Het advies vermeldt 3.0.30 als de gerepareerde versie van `cline`. Organisaties en ontwikkelaars die het Cline Hub-dashboard gebruiken, wordt aangeraden te upgraden naar deze gerepareerde versie. In de beschikbare feiten worden geen aanvullende mitigatiemaatregelen beschreven naast het upgraden.
Aanbevolen actie
Ontwikkelaars die `cline dashboard` gebruiken, wordt aangeraden `cline` zo snel mogelijk te upgraden naar versie 3.0.30. Vermijd tot die tijd het draaien van het dashboard terwijl u op niet-vertrouwde websites surft, aangezien elk geopend browsertabblad kan interageren met een actieve dashboardsessie in de standaard lokale configuratie.
PatchBriefing-score
4.8 / 10 · Gemiddeld
Officiële CVSS: 8.8
CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Waarom deze score
Dit probleem heeft een CVSS-basisscore van 8,8 (AV:A/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H), wat wijst op een grote impact op vertrouwelijkheid, integriteit en beschikbaarheid zodra een ontwikkelaar een kwaadaardige pagina bezoekt terwijl het dashboard draait, al vereist dit een aangrenzend aanvalsvector en gebruikersinteractie. De berekende PatchBriefing-score van 4,8 weerspiegelt dat er, ondanks de hoge CVSS-basisscore, geen bekende actieve misbruik in het wild is, geen publieke exploitcode wordt vermeld in de beschikbare feiten, en de kwetsbaarheid in dit scoringsmodel niet voldoet aan de drempels voor ongeauthenticeerde, externe uitbuiting zonder gebruikersinteractie. Er is een oplossing beschikbaar, wat ook meeweegt in de algehele beoordeling.
Getroffen versies
- cline < 3.0.30
- kwetsbaar
- ≥ 3.0.30
- gepatcht
Gemelde oplossingen
Het advies vermeldt 3.0.30 als de gerepareerde versie van `cline`. Organisaties en ontwikkelaars die het Cline Hub-dashboard gebruiken, wordt aangeraden te upgraden naar deze gerepareerde versie. In de beschikbare feiten worden geen aanvullende mitigatiemaatregelen beschreven naast het upgraden.
Hoe dit rapport is gemaakt
1 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail