Impact
Neko, a self‑hosted virtual browser, contains an authorization bypass in legacy WebRTC input handling. From version 3.0.0 through 3.1.5, deployments that enable legacy mode together with the session.implicit_hosting option permit any authenticated room member to establish a WebRTC connection and transmit mouse and keyboard events through the legacy control channel, even when those controls are locked or the member is otherwise unauthorized by the modern control API. The flaw arises because the LegacyIsHost() check incorrectly evaluates host status, falling short of the intended authorization guard. This weakness, defined as CWE‑863, allows an attacker to manipulate user input and potentially hijack a session or perform further attacks that rely on injected controls. The impact is a loss of integrity and potential confidentiality compromise for the affected deployment.
Affected Systems
The affected product is m1k1o Neko, versions from 3.0.0 up to and including 3.1.5, when legacy mode and session.implicit_hosting are enabled. The vulnerability is resolved in version 3.1.5.
Risk and Exploitability
The CVSS score is 5.4, representing moderate severity. EPSS data is not available, and the vulnerability is not listed in CISA KEV. An attacker would need an authenticated account in a room and the ability to establish a WebRTC connection; no elevated privileges are required beyond those already granted to a room member. The attack path is limited to the legacy WebRTC channel, making the exposure dependent on configuration choices. The likelihood of exploitation is reasonable given the ease of establishing a WebRTC connection in a typical Neko deployment, especially if legacy mode is left enabled.
OpenCVE Enrichment
Github GHSA