CVE-2026-116679: Neko: Authorization bypass in legacy WebRTC input handling
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.implicithosting 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Nekoto a version that resolves this vulnerability.Fixed in 3.1.5
Event History
Frequently Asked Questions
Which deployments are affected?
Affected deployments run Neko versions from 3.0.0 through 3.1.5 with both legacy mode and session.implicit_hosting enabled. Deployments without those conditions are not identified as affected by the provided information.
What must an attacker be able to do?
The attacker must be an authenticated room member and establish a WebRTC connection. They can then send mouse and keyboard events through the legacy control data channel.
Can locked controls prevent exploitation?
No. The flaw allows legacy control-channel input even when controls are locked or the member is not authorized by the modern control API.
What version fixes the issue?
The issue is fixed in Neko version 3.1.5.