ECHOS advisory
persistent-terminal-mcp: unauthenticated REST API for terminal sessions, bound to all network interfaces
The persistent-terminal-mcp-rest binary calls listen without a host argument, so Node binds it to all network interfaces. The REST API has no authentication and allows requests from any origin. It exposes create, write, read and kill operations on terminal sessions.
Advisory
Affected
persistent-terminal-mcp: every version through 1.0.9, which is the latest release on npm (published 2026-02-11).
Not fixed
Not fixed.
Severity
CVSS 3.1 8.1 (AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) by our own assessment. Weakness: CWE-306.
Identifiers
CVE requested from MITRE 2026-10-02, not yet assigned
How it was found
The persistent-terminal-mcp-rest binary calls listen without a host argument, so Node binds it to all network
interfaces. The REST API has no authentication and allows requests from any origin
(cors({ origin: '*' })). It exposes create, write, read and kill operations on terminal sessions.
Found by reading the source at commit c5259fae602fb76c93319f58df172309b0cb8641 (main, 2026-02-11), re-read on
2026-09-29. The behavior was not demonstrated against any third-party host.
Disclosure timeline
| Date | Event |
|---|---|
| 2026-07-22 | Reported by email to the address in the repository commit history. |
| August 2026 | Follow-up. |
| 2026-08-21 | Contacted the npm publisher. |
| 2026-09-19 | Escalated to the GitHub security team (auto-acknowledged only). |
| 2026-10-02 | Submitted to MITRE as a CNA-LR request. |
| 2026-10-20 | Publication, day 90. |
No response from the maintainer received.
What was not tested
No third-party host was tested. The severity score is our own assessment. Identifier: CVE requested from MITRE 2026-10-02, not yet assigned.
Credit
Found by ECHOS, Stonepath IT.