
TP-Link Archer BE800 V1 — VPN Key Injection RCE
CVE: CVE-2026-16348
CVSS: 8.5 (High) — CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L
Auth required: Valid admin credentials
Network position: Network (remote if management interface exposed)
The VPN server management endpoint in vpn.lua passes the user-supplied server key field into a shell command via execute(string.format("vpn_core.sh start %s %s %s %s", ...)). The key field is validated against an allow-list that permits backtick (`), $, (, ), {, and — the complete set of POSIX shell command-substitution operators. Injecting into the key field executes arbitrary commands as root.
}$(command)