Summary
CVE-2026-86543 is a critical missing-authentication vulnerability (CWE-306) affecting knowns, an npm-distributed application that ships a management API. On fresh installations and all versions prior to 0.30.0, the management API is served without any authentication on every network interface, and no password is required by default. This allows an unauthenticated network attacker to invoke a privileged endpoint that provisions a public tunnel, effectively republishing the fully unauthenticated management API to the open internet.
Technical details
- Root cause: The application’s authentication middleware does not enforce credential checks on the management API by default, and the API listener binds to all network interfaces rather than localhost-only.
- Trigger conditions: No password/authentication is configured on fresh installs, and the management API is reachable directly over the network or via a self-provisioned tunnel.
- Attack vector: A remote, unauthenticated attacker sends a request to the
POST /api/tunnel/startendpoint, which is not protected by authorization checks. This creates a public tunnel that exposes the management API at an internet-accessible address. - Impact: Full compromise of confidentiality, integrity, and availability of the management API and any data/functionality it controls, since no credentials are required at any stage of the attack chain (CVSS Confidentiality/Integrity/Availability all rated High).
Affected software
- knowns (npm package, maintained by knowns-dev): all versions prior to 0.30.0
- Fixed in knowns 0.30.0 and later
Severity
- CVSS v3.1: 9.8 (Critical) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS v4.0: 9.3 (Critical) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade knowns to version 0.30.0 or later, which addresses the missing authentication and unrestricted network binding issues (fix commit 878a02cb7cc14f0a592fdfda7a520af3cac500fb).
- If immediate patching is not possible:
- Do not expose the knowns management API interface directly to the internet; restrict it to localhost or trusted internal networks only.
- Place the management API behind a firewall, VPN, or reverse proxy that enforces authentication.
- Explicitly configure a strong password/authentication for the management API rather than relying on default (unauthenticated) settings.
- Audit any existing installations for unexpected active tunnels created via the
/api/tunnel/startendpoint and revoke them.

