Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Termix as low-privileged user
-
DeliveryEnumerate numeric host IDs via GET /status/:id
-
ExploitRead other tenants' host state and timestamps
-
ExecutionPOST /clear-connections to flush global SSH pool
-
ImpactDisrupt other users' active sessions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated Termix user account on the instance (PR:L) - unauthenticated requests are explicitly blocked. Exploitation targets the server-stats API routes in src/backend/ssh/server-stats.ts: GET /status (returns statuses for hosts the caller cannot access), GET /status/:id (accepts an attacker-supplied numeric host identifier, enabling IDOR enumeration), and POST /clear-connections (lets any regular user clear the global SSH connection pool). No special non-default configuration or user interaction is needed; the defect is present in default multi-user deployments of versions 1.8.0 through pre-2.5.1. The limiting factor is that impact is confined to host online/offline state and lastChecked timestamps (no credential or file contents) plus disruption of sessions/pooled connections, and any authenticated account suffices. |
| Impact | This is a genuine but low-to-moderate priority issue. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L, 5.4 Medium) accurately reflects the impact: network-reachable, low-complexity, but requiring valid authentication (PR:L) and yielding only limited confidentiality (host up/down state and lastChecked timestamps) plus limited availability harm (disrupting other tenants' sessions/pool). No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided intelligence, so there is no signal of active or imminent exploitation - the risk is that of a multi-tenant authorization defect exploitable only by an already-authenticated user. The core signals are consistent (broken authorization confirmed by vendor advisory, PR, and fixing commit); the only conflict is the 'Authentication Bypass' tag, which mislabels the defect - the description is explicit that unauthenticated requests remain blocked and that the failure is loss of per-host/tenant authorization (CWE-284/IDOR), not authentication bypass. Real-world exposure is further bounded by the product's small, self-hosted footprint. |
| Exploit ScenarioDerived | A low-privileged but authenticated user on a shared Termix instance calls GET /status/:id while iterating numeric host identifiers to enumerate which servers other tenants have registered and whether they are online, reading lastChecked timestamps to profile activity. The same user then issues POST /clear-connections to flush the global SSH connection pool, disrupting other users' active sessions. No public exploit code is identified at time of analysis; exploitation is trivial (simple authenticated HTTP requests) but requires an account on the instance. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 24, 2026
Termix versions 1.8.0 through 2.5.1 expose server-stats API routes that lack per-host authorization, allowing any authenticated user to read host online/offline state and lastChecked timestamps for hosts they cannot access and to clear the instance-wide SSH connection pool. Because GET /status/:id accepts an attacker-supplied numeric host identifier, a low-privileged account can enumerate host IDs (IDOR), while POST /clear-connections disrupts other users' active sessions and pooled connections. Unauthenticated requests remain blocked and no public exploit code has been identified at time of analysis; CVSS is 5.4 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L) and the vendor fixed the issue in 2.5.1.
RemediationAI
Upgrade to Termix 2.5.1 or later - the vendor-released patch, published as release-2.5.1-tag (https://github.com/Termix-SSH/Termix/releases/tag/release-2.5.1-tag) and described in advisory GHSA-372w-6f3h-vcm4 (https://github.com/Termix-SSH/Termix/security/advisories/GHSA-372w-6f3h-vcm4), with the underlying fix in PR #1067 and commit ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e. If an immediate upgrade is not possible, apply compensating controls knowing their trade-offs: restrict the /status, /status/:id and /clear-connections routes at the reverse proxy to a trusted administrative source IP or admin-only session - this blocks the enumeration and pool-clearing primitives but also removes legitimate status dashboards from ordinary users; run Termix in single-tenant instances with one account per deployment, so host-ID enumeration yields nothing the user cannot already see, at the cost of losing multi-user collaboration; disable or firewall the server-stats endpoints entirely until patched, accepting loss of host status visibility; and monitor for rapid sequential /status/:id requests or repeated /clear-connections calls as an indicator of attempted abuse. Note that authentication is not a sufficient mitigation on its own, since any valid low-privileged account suffices to exploit the missing per-host authorization.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Termix is a web-based server management platform offering an SSH terminal, tunneling, and file editing from a central backend written in TypeScript/Node.js. The vulnerable code lives in src/backend/ssh/server-stats.ts, which backs the /status, /status/:id, and /clear-connections endpoints. The root cause is CWE-284 (Improper Access Control): these routes authenticate the caller but never verify that the caller is authorized for the specific host referenced by the request, so the authorization decision stops at 'is this a valid session' rather than 'does this session own or have access to host N'. In a multi-tenant or multi-user deployment the numeric host identifier in GET /status/:id is therefore attacker-controlled and can be iterated, yielding an enumeration/insecure-direct-object-reference (IDOR) primitive; the collection endpoint GET /status leaks the same metadata for all hosts; and POST /clear-connections operates on the global SSH connection pool without any role or ownership check, letting an ordinary account tear down infrastructure shared by every user. Only host reachability metadata (online/offline, lastChecked) is disclosed - no credentials, host keys, or file contents - which is why confidentiality and availability impacts are both scored Low.
Know when Termix gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
Network API reachable by any authenticated user (PR:L, AC:L, UI:N); leaks only host state/timestamps (C:L), no integrity impact (I:N), and clearing the shared pool disrupts sessions (A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. From 1.8.0 until 2.5.1, authenticated Termix users can access the server-stats API without per-host authorization. GET /status returns statuses for hosts the requester cannot access, GET /status/:id accepts an attacker-supplied numeric host identifier, and POST /clear-connections permits a regular user to clear the global SSH connection pool. The affected src/backend/ssh/server-stats.ts routes expose host online or offline state and lastChecked timestamps and can disrupt other users' active sessions or pooled connections. Unauthenticated requests remain blocked, but authentication alone does not preserve tenant isolation. This issue is fixed in version 2.5.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Unauthenticated attackers can retrieve stored SSH host credentials - including addresses, usernames, and passwords - fro
Stored XSS in Termix File Manager (versions 1.7.0-1.9.0) allows attackers with SSH server access to execute arbitrary Ja
Remote command execution in Termix web-based server management platform (versions prior to 2.3.2) allows any authenticat
Remote code execution in Termix (self-hosted web-based server management platform) before version 2.1.0 lets an authenti
OS command injection in Termix (self-hosted web SSH/tunneling platform) before 2.3.2 lets an authenticated user who can
OS command injection in Termix web-based server management platform prior to version 2.3.2 allows remote unauthenticated
Cross-user SSH credential disclosure in Termix, a self-hosted web server-management platform, allows an authenticated lo
Broken authorization in Termix (self-hosted web-based SSH/server management platform) before 2.6.1 lets any authenticate
Command injection in Termix 2.4.1 through 2.5.0 lets an authenticated administrator execute arbitrary operating-system c
Cross-tenant remote code execution in Termix (web-based SSH/file management platform) prior to version 2.3.2 allows an a
Command injection in Termix server management platform before version 2.3.2 allows authenticated users to execute arbitr
Remote command injection in Termix, a web-based SSH server management platform, allows any authenticated user with file-
EUVD-2026-86157
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB