Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as room member
-
ExploitEstablish legacy WebRTC data channel
-
ImpactInject mouse/keyboard input while controls locked
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires ALL of the following: (1) the Neko deployment running in legacy mode; (2) session.implicit_hosting set to enabled; (3) the attacker authenticated as a room member; and (4) a successfully established WebRTC connection using the legacy input handler. Only the legacy WebRTC input path is affected - the modern HTTP/WebSocket control path correctly enforces authorization and is NOT vulnerable. Limiting factors that reduce real-world risk: no unauthenticated access and no privilege escalation outside the application are possible, and the required legacy-mode plus implicit-hosting combination is a non-default configuration, so deployments using the modern control path or with implicit hosting disabled are not exploitable. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L, base 5.4, Medium) describes a network-reachable but authenticated (PR:L) flaw with low integrity and availability impact and no confidentiality impact - consistent with unauthorized input injection rather than data theft. No EPSS score was supplied, there is no CISA KEV listing (no active exploitation per available data), and no public exploit code or PoC reference is present - only the vendor advisory and patch commits. The vuln.today decision label is 'this_month', indicating a moderate, non-emergency priority. Critically, exploitation is gated behind a non-default configuration (legacy mode AND session.implicit_hosting enabled) and prior authentication as a room member - context the raw CVSS vector does not capture - which makes this a conditional abuse-of-access issue affecting only the legacy WebRTC input path, not a broadly exploitable internet-facing bug. Net assessment: a real but bounded issue; prioritize patching for deployments actually running legacy mode with implicit hosting, with low urgency elsewhere. The absence of an EPSS score limits any probabilistic exploitation estimate. |
| Exploit ScenarioDerived | An authenticated room member of a Neko deployment running in legacy mode with session.implicit_hosting enabled establishes a WebRTC connection and sends mouse and keyboard events through the legacy data channel even though controls are locked or the member was never granted host rights via the modern control API, letting them manipulate the shared virtual browser session without authorization. No public exploit code is identified at time of analysis; only the vendor advisory and fix commit are available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Legacy WebRTC input handling in Neko 3.0.0 through 3.1.4 incorrectly treats an authenticated room member as a host, allowing that member to inject mouse and keyboard events through the legacy data channel even while controls are locked or the member lacks authorization under the modern control API. Only deployments running legacy mode with session.implicit_hosting enabled are exposed; the modern HTTP/WebSocket control path enforces authorization correctly and is not affected. The flaw is rated CVSS 3.1 5.4 (Medium, AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L), no public exploit code was identified at time of analysis, and the vendor has released a fix in v3.1.5.
RemediationAI
Vendor-released patch: v3.1.5 - upgrade Neko to 3.1.5 or later, which corrects the authorization logic in the legacy WebRTC handler (fix commit 395ca1a6f62b7b0e270e654d366a2d57b8042efd, PR https://github.com/m1k1o/neko/pull/675, release https://github.com/m1k1o/neko/releases/tag/v3.1.5, advisory https://github.com/m1k1o/neko/security/advisories/GHSA-5cp7-fp4j-wwcv); Go builds should pin the module at or above pseudo-version 0.0.0-20260805142851-395ca1a6f62b. If upgrading cannot be done immediately, the vendor lists three workarounds: disable legacy mode if it is not required (side effect: clients that depend on the legacy WebRTC data channel lose that input path), disable implicit hosting by setting session.implicit_hosting=false (side effect: room members are no longer automatically granted host status, so host rights must be assigned explicitly through the modern control API), or restrict access to trusted authenticated users (side effect: reduces the pool of room members who could reach the legacy input handler but does not fix the underlying check). The vendor states that updating is the complete fix; the modern HTTP/WebSocket control path needs no change.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Neko is a self-hosted virtual browser delivered as a Docker container that streams the browser session to clients over WebRTC, with input (mouse, keyboard) relayed from the client to the server. This is a CWE-863 incorrect authorization flaw in the Go server module (go/github.com/m1k1o/neko/server): the legacy WebRTC data-channel input path evaluates host status through LegacyIsHost(), and that logic reaches the wrong result when legacy mode and session.implicit_hosting are both enabled, so input events are accepted from a room member who should not have control rights. The vendor's fix commit 395ca1a6f62b7b0e270e654d366a2d57b8042efd rewrites the session host determination in server/internal/session/session.go so that a session without CanHost, or with private mode enabled, returns false, and so that locked controls deny host status to non-admins, with implicit hosting consulted only afterwards. The practical consequence is unauthorized input injection inside the virtual browser session - not credential theft, since the vector records no confidentiality impact. The authorization gap exists only on the legacy input path; the modern HTTP/WebSocket control path performs its own checks and is unaffected, and the trigger conditions are limited to that legacy path as described in the advisory.
Know when Neko gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
Authenticated room member acting over WebRTC gives PR:L/AV:N/AC:L/UI:N; unauthorized input injection yields limited integrity and availability impact with no confidentiality impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Neko is a a self-hosted virtual browser that runs in Docker and uses WebRTC. From version 3.0.0 until 3.1.5, Neko deployments with legacy mode and session.implicit_hosting enabled incorrectly authorize legacy WebRTC data-channel input because LegacyIsHost() evaluates host status incorrectly. An authenticated room member who establishes a WebRTC connection can send mouse and keyboard events through the legacy control channel while controls are locked or the member is otherwise unauthorized by the modern control API. This issue is fixed in version 3.1.5.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
EUVD-2026-111245
GHSA-5cp7-fp4j-wwcv
NVD
CVE.org
EPSS
Exploit-DB