Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach proxied Termix web endpoint
-
DeliveryRequest /ssh/db/host/internal directly
-
ExploitBackend sees proxy IP, isLocalhost=true
-
ExecutionAuth check bypassed
-
PersistDump stored SSH hosts and credentials
-
ImpactPivot to managed servers
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 | Exploitation requires the target to be deployed using the official Termix Docker image, a custom image built from the official Dockerfile, or any configuration placing the Termix backend behind an Nginx (or similar) reverse proxy - this is the condition that makes req.ip return the proxy's IP and forces isLocalhost to always evaluate true, exposing the /ssh/db/host/internal endpoint without login. No authentication, user interaction, or special privileges are needed against these default/common deployments. The key LIMITING factor is the deployment topology: a Termix instance running without a reverse proxy (where req.ip correctly reflects the real client IP) would not have isLocalhost spuriously satisfied and should not be exploitable; only versions 1.5.0 and below are affected, and upgrading to 1.6.0 remediates the flaw. |
| Impact | This is a genuinely high-priority flaw for anyone running the affected product, but the signals are mixed and worth parsing carefully. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a remote, low-complexity, unauthenticated attack with high confidentiality impact (VC:H) and subsequent-system impact (SC:H), which aligns well with the description: an authentication bypass that exposes stored SSH credentials. A public exploit/advisory exists (GHSA-92cw-877q-6r94), raising real-world feasibility. However, the EPSS score is very low (0.06%, 19th percentile) and the CVE is NOT in CISA KEV, so there is no evidence of active exploitation - the low EPSS most plausibly reflects the product's limited deployment footprint rather than any difficulty of exploitation. The net picture: technically trivial to exploit against default deployments and the payoff (plaintext SSH hosts/usernames/passwords) is severe, but the blast radius is bounded by how few organizations actually run this software. Treat as urgent-to-patch for the specific population that runs it, not as a mass-exploitation event. One nuance to verify: PR:N assumes the official/default reverse-proxied Docker configuration, which the vendor states is the standard deployment - a non-proxied custom deployment may not be vulnerable. |
| Exploit ScenarioDerived | An attacker who can reach a Termix instance deployed via the official Docker image (or any Nginx reverse-proxied build) sends a direct HTTP request to the /ssh/db/host/internal endpoint. Because Nginx makes req.ip resolve to the proxy's address, the backend's isLocalhost check always returns true and serves stored SSH host records - addresses, usernames, and passwords - with no login required. A public advisory with exploit details exists (GHSA-92cw-877q-6r94), and the low attack complexity (AC:L, no user interaction) makes this a point-and-shoot request. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 12, 2026
Unauthenticated attackers can retrieve stored SSH host credentials - including addresses, usernames, and passwords - from Termix deployments running version 1.5.0 and below when the platform is served behind an Nginx reverse proxy, which is the default for the official Docker image and the official Dockerfile. The proxy causes the backend's req.ip to resolve to the proxy's own address instead of the real client, so the isLocalhost check always evaluates true and the /ssh/db/host/internal endpoint is reachable without login; publicly available exploit code exists and the flaw is fixed in version 1.6.0. Exploitation is unauthenticated (CVSS 4.0 vector PR:N) and requires no user interaction, but it is deployment-topology dependent - a Termix instance not behind a reverse proxy, where req.ip reflects the true client, should not be exposed in this way. EPSS is low (0.06%, 19th percentile) and there is no CISA KEV confirmation of active exploitation at time of analysis.
Earlier versions of this analysis (1)
Default creds in Termix Docker image.
RemediationAI
Upgrade Termix to version 1.6.0, which remediates the flawed localhost trust check; the vendor-released fix is carried in the upstream pull request https://github.com/LukeGus/Termix/pull/221 and detailed in the security advisory https://github.com/LukeGus/Termix/security/advisories/GHSA-92cw-877q-6r94. Until upgrading is possible, the most effective compensating control is to correct the proxy trust configuration so the backend no longer treats every request as local: have Nginx send the real client address (X-Forwarded-For / X-Real-IP) and configure the application's trust-proxy setting accordingly - note this is a behavioral change that can affect rate limiting and logging, and is only reliable once the app actually honors the header. Alternatively, block or restrict access to the /ssh/db/host/internal route at the reverse proxy or firewall so it cannot be reached from untrusted networks, though this may break legitimate internal-only features that depend on that endpoint. Running a Termix instance without a reverse proxy avoids the trigger condition entirely but forfeits the TLS termination and routing benefits the proxy provides. Because the endpoint exposes stored SSH credentials in cleartext, treat any Termix 1.5.0-or-earlier deployment as potentially compromised and rotate the affected SSH host credentials as a precaution.
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
This is a CWE-284 (Improper Access Control) weakness rooted in how the Termix backend determines caller identity. Termix is a Node/Express-style web-based server management platform offering an SSH terminal, tunneling, and file editing. Its internal authorization logic treats requests originating from localhost as trusted and relies on the framework's req.ip property to decide whether a request is local (isLocalhost). When the application runs behind an Nginx reverse proxy - the configuration shipped in the official Docker image and produced by the official Dockerfile - the backend sees only the proxy's IP unless the proxy is explicitly configured to forward the real client address (e.g., via X-Forwarded-For / X-Real-IP) and the app is told to trust that proxy. Because neither is set, req.ip returns the proxy address for every request, isLocalhost is satisfied unconditionally, and the intended trust boundary collapses. The affected endpoint, /ssh/db/host/internal, was written as a local-only route and returns the system's stored SSH inventory - host addresses, usernames, and passwords - making the access control failure a direct secret-disclosure issue. The vulnerable surface corresponds to CPE cpe:2.3:a:termix:termix:*:*:*:*:*:*:*:* (EUVD lists Termix < 1.6.0).
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N
Default reverse-proxied deployment makes the endpoint reachable unauthenticated (PR:N/AC:L/AV:N); high confidentiality from leaked SSH credentials (C:H), minor integrity via stored-data access (I:L), no availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.org
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. The official Docker image for Termix versions 1.5.0 and below, due to being configured with an Nginx reverse proxy, causes the backend to retrieve the proxy's IP instead of the client's IP when using the req.ip method. This results in isLocalhost always returning True. Consequently, the /ssh/db/host/internal endpoint can be accessed directly without login or authentication. This endpoint records the system's stored SSH host information, including addresses, usernames, and passwords, posing an extremely high security risk. Users who use the official Termix docker image, build their own image using the official dockerfile, or utilize reverse proxy functionality will be affected by this vulnerability. This issue is fixed in version 1.6.0.
Executive ViewAI
Termix deployments at version 1.5.0 and below, particularly those using the official Docker image or Dockerfile behind an Nginx reverse proxy, can expose stored SSH host credentials-addresses, usernames, and passwords-to unauthenticated retrieval by anyone who can reach the service. Because this default deployment pattern is common, leadership should treat any unpatched instance as a potential credential-compromise event affecting downstream managed systems and privileged access paths. A vendor patch is available in Termix 1.6.0, and publicly available exploit code exists, making rapid inventory, patch, and credential rotation the priority.
Apply vendor patch.
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
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-
Unauthorized data exposure in Termix prior to 2.3.2 allows a low-privileged authenticated user to exfiltrate password-re
EUVD-2025-33187
NVD
CVE.org
EPSS
GitHub
Exploit-DB