Skip to main content

Termix CVE-2025-59951

| EUVDEUVD-2025-33187 CRITICAL
Improper Access Control (CWE-284)
2025-10-01 security-advisories@github.com
9.2
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach proxied Termix web endpoint
  2. Delivery
    Request /ssh/db/host/internal directly
  3. Exploit
    Backend sees proxy IP, isLocalhost=true
  4. Execution
    Auth check bypassed
  5. Persist
    Dump stored SSH hosts and credentials
  6. Impact
    Pivot 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – 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)
v1 Mar 13, 2026 - 18:18 CVSS 9.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

Termix < 1.6.0

Affected Packages

euvd termix fix: 1.6.0

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

Vendor (github) PRIMARY 9.2 CRITICAL
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
vuln.today AI 8.2 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

4
CVSS changed
Oct 12, 2026 - 15:22 NVD
9.1 (CRITICAL) 9.2 (CRITICAL)
PoC Detected
Oct 20, 2025 - 18:37 vuln.today
Public exploit code
Patch released
Oct 20, 2025 - 18:37 nvd
Patch available
CVE Published
Oct 01, 2025 - 22:15 nvd
CRITICAL 9.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 81% exploitable
Prevalence
Low
niche self-hosted open-source server-management tool, limited enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Termix

View all
CVE-2026-22804 HIGH POC
8.0 Jan 12

Stored XSS in Termix File Manager (versions 1.7.0-1.9.0) allows attackers with SSH server access to execute arbitrary Ja

CVE-2026-45744 CRITICAL
9.9 Jun 05

Remote command execution in Termix web-based server management platform (versions prior to 2.3.2) allows any authenticat

CVE-2026-42454 CRITICAL
9.9 May 08

Remote code execution in Termix (self-hosted web-based server management platform) before version 2.1.0 lets an authenti

CVE-2026-53545 CRITICAL
9.8 Aug 19

OS command injection in Termix (self-hosted web SSH/tunneling platform) before 2.3.2 lets an authenticated user who can

CVE-2026-45748 CRITICAL
9.8 Jun 05

OS command injection in Termix web-based server management platform prior to version 2.3.2 allows remote unauthenticated

CVE-2026-53546 CRITICAL
9.6 Aug 19

Cross-user SSH credential disclosure in Termix, a self-hosted web server-management platform, allows an authenticated lo

CVE-2026-53548 CRITICAL
9.6 Aug 19

Broken authorization in Termix (self-hosted web-based SSH/server management platform) before 2.6.1 lets any authenticate

CVE-2026-79766 CRITICAL
9.1 Sep 24

Command injection in Termix 2.4.1 through 2.5.0 lets an authenticated administrator execute arbitrary operating-system c

CVE-2026-45746 CRITICAL
9.0 Jun 05

Cross-tenant remote code execution in Termix (web-based SSH/file management platform) prior to version 2.3.2 allows an a

CVE-2026-45750 CRITICAL
9.0 Jun 05

Command injection in Termix server management platform before version 2.3.2 allows authenticated users to execute arbitr

CVE-2026-53542 HIGH
8.8 Aug 19

Remote command injection in Termix, a web-based SSH server management platform, allows any authenticated user with file-

CVE-2026-53547 HIGH
8.8 Aug 19

Unauthorized data exposure in Termix prior to 2.3.2 allows a low-privileged authenticated user to exfiltrate password-re

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy