Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain victim's authenticated session and password
-
DeliveryPOST /users/totp/disable with password only
-
ExploitverifyTotpReauth accepts password as sole factor
-
ExecutionTOTP disabled / backup codes invalidated
-
Impactaccount downgraded to single-factor auth
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Multi-factor authentication
|
| Exploitation Conditions | Exploitation requires the Termix account to have TOTP two-factor authentication enabled (versions 2.4.0 through pre-2.5.1) and the attacker to hold BOTH (1) the victim's already-authenticated session and (2) knowledge of the victim's account password. The attacker then calls POST /users/totp/disable or POST /users/totp/backup-codes supplying only the password, which verifyTotpReauth wrongly accepts as an interchangeable reauthentication credential. Limiting factors: the attacker cannot proceed without an active session (PR:L) and must separately know the plaintext password (contributing to AC:H); OIDC-authenticated accounts follow a different path; and the outcome is limited to degrading the account to single-factor auth rather than direct data access - no confidentiality or availability impact. The flaw is a regression of the fix for CVE-2026-45749. |
| Impact | This is a genuine but conditional security-degradation flaw, not a high-urgency issue. The CVSS 3.1 base score is 5.3 (medium) with vector AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N - note the I:H is the sole driver, reflecting that the flaw undermines the account's second-factor integrity rather than exposing or destroying data (C:N/A:N). Exploitation is gated by two independent prerequisites baked into the vector: PR:L (the attacker must already hold the victim's authenticated session) and AC:H (the attacker must additionally know the victim's account password). Because the attacker already possesses both a valid session and the password, the practical incremental gain is narrow - they downgrade the victim from two-factor to single-factor auth (disable TOTP or invalidate backup codes), which is a persistence/foothold-preservation move rather than an initial-access primitive. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so exploitation status is 'no public exploit identified at time of analysis.' The one CWE-mapping and impact signal worth flagging: the input Tag 'Information Disclosure' contradicts the CVSS vector (C:N), since this is an authentication-weakening / 2FA-bypass regression (CWE-308), not a confidentiality issue. Overall this is a correctly-scored medium that should be patched but does not warrant emergency prioritization given the compound preconditions and absence of exploitation signals. |
| Exploit ScenarioDerived | An attacker who has already compromised a victim's active Termix web session (e.g., via stolen session token or an unlocked workstation) and who also knows the victim's account password sends a POST to /users/totp/disable or /users/totp/backup-codes, supplying only the password. Because the post-2.4.0 refactor made verifyTotpReauth accept the password alone, the server disables TOTP or invalidates backup codes without a valid authenticator code, leaving the account protected by password only. No public exploit code was identified; exploitation is straightforward once the two preconditions (session plus password) are met. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 24, 2026
Termix 2.4.0 through 2.5.0 permits an attacker who already holds a victim's authenticated session and knows the account password to disable TOTP two-factor authentication or regenerate (and thereby invalidate) the victim's backup codes through POST /users/totp/disable and POST /users/totp/backup-codes, degrading the account to single-factor authentication. The defect is a regression of the fix originally shipped for CVE-2026-45749: a 2.4.0 refactor made verifyTotpReauth accept a bcrypt-validated password as an interchangeable substitute for a TOTP code, so no authenticator or valid second factor is needed. Scored CVSS 5.3 (AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N) and tracked as EUVD-2026-86120, this is a conditional security-degradation flaw rather than a high-urgency issue - the attacker cannot reach the endpoints without an active authenticated session (PR:L) and must separately know the plaintext password (driving AC:H), and the outcome is a weakened authentication posture (integrity impact only) with no confidentiality or availability impact. Vendor-released patch: 2.5.1; no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Upgrade Termix to 2.5.1 or later, which is the vendor-released patch that restores correct two-factor enforcement in verifyTotpReauth and requires a distinct TOTP code in addition to the password on both POST /users/totp/disable and POST /users/totp/backup-codes; the release is available at https://github.com/Termix-SSH/Termix/releases/tag/release-2.5.1-tag and the advisory at https://github.com/Termix-SSH/Termix/security/advisories/GHSA-x9h9-f7jc-8jwj, with the code-level fix visible in PR #1067 and commits 22124e1bc49c8cedad57b31de9c51ad39f3d4432 / ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e. Until patching is possible, treat every Termix session as potentially equivalent to a full second-factor bypass: immediately invalidate and re-issue all active sessions and force password resets for accounts with TOTP enabled, since the exploit prerequisite is possession of an already-authenticated session plus the plaintext password, and rotate any TOTP backup codes that may have been regenerated (trade-off: mass session invalidation and password resets cause user disruption but close the window). Where the affected routes cannot be patched immediately, block POST /users/totp/disable and POST /users/totp/backup-codes at the reverse proxy or WAF for non-administrative traffic and audit existing TOTP enrollment state for unauthorized changes (trade-off: legitimate users lose self-service ability to disable TOTP or refresh backup codes, requiring an administrative workaround). If TOTP cannot be relied upon during the exposure window, additionally enforce a second, independent control such as SSO/OIDC-based login, which follows the unaffected code path, and log and alert on requests to the two affected endpoints so any post-fix regeneration of backup codes can be detected.
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 TypeScript/Node.js web-based server management platform offering SSH terminal, tunneling and file-editing features, with a backend routed through src/backend/database/routes/user-totp-routes.ts and password verification performed with bcrypt against a stored passwordHash. The root-cause class is CWE-308 (Use of Single-factor Authentication): the shared helper verifyTotpReauth is supposed to enforce a genuine second factor before sensitive TOTP lifecycle operations, but as introduced by a 2.4.0 refactor it returned success whenever bcrypt.compare validated the supplied credential against the account password, and both affected handlers built that credential as password || totp_code, treating the two as interchangeable. The upstream fix (commit 22124e1bc49c8cedad57b31de9c51ad39f3d4432, with companion commit ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e and PR #1067) removes the password branch from verifyTotpReauth and instead requires both a password and a distinct totp_code (for non-OIDC accounts), returning 400 when either is missing and 401 on an incorrect password; the accompanying test change flips the assertion so a correct password alone now yields false. OIDC-authenticated accounts (userRecord.isOidc) take a separate code path that only ever required a TOTP code, so they are not exposed by this regression. CPE cpe:2.3:a:termix-ssh:termix:*:*:*:*:*:*:*:* confirms the affected component is the Termix application itself, with no platform or OS specificity.
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:H/PR:L/UI:N/S:U/C:N/I:H/A:N
Network-reachable API (AV:N); PR:L for the required authenticated session; AC:H because the attacker must additionally know the password; I:H reflects weakening 2FA integrity, C:N/A:N as no data is exposed or destroyed.
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 2.4.0 until 2.5.1, the POST /users/totp/disable and POST /users/totp/backup-codes endpoints accept the account password as the sole reauthentication factor after a 2.4.0 refactor regressed the two-factor check introduced for CVE-2026-45749. In src/backend/database/routes/user-totp-routes.ts, verifyTotpReauth returns success when bcrypt.compare validates the password, while each endpoint chooses password or totp_code as an interchangeable credential. An attacker who has a victim's authenticated session and knows the password can disable TOTP or regenerate and invalidate backup codes without an authenticator or valid second factor, weakening the account to single-factor authentication. 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
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-86120
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB