Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege or self-registered user
-
DeliveryCraft /homepage/proxy request with url to 169.254.169.254 or internal host
-
ExploitBackend fetches URL without destination restriction
-
ExecutionFull JSON response returned to attacker
-
ImpactExfiltrate cloud credentials and internal service data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account on the Termix instance (PR:L) - but the description explicitly notes a self-registered account suffices, so the auth barrier is minimal where open registration is enabled. Affected only in versions 2.5.0 up to (not including) 2.5.1; the vulnerable code path is the /homepage/proxy endpoint in homepage-proxy-routes.ts, which existed only in this narrow release window. Exploitation is limited to responses that parse as JSON (the handler JSON.parses the body and rejects non-JSON), and it requires network reachability from the Termix backend to the intended internal/metadata target - highest impact where Termix runs in a cloud environment exposing an instance metadata service (169.254.169.254). No user interaction or elevated privileges are needed. |
| Impact | This is a genuine, well-substantiated SSRF (CWE-918) confirmed by both the vendor security advisory (GHSA-mwr3-35ph-pjqg) and the source-code diff. The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N (7.7) is internally consistent and matches the description: network-reachable, low complexity, requires only a low-privilege or self-registered account, no user interaction, and - critically - the endpoint returns the COMPLETE fetched JSON body, making this a NON-blind SSRF that yields direct confidentiality impact (C:H). This is materially more dangerous than its blind sibling CVE-2026-79760 because attackers see the response, enabling straightforward exfiltration of cloud-metadata credentials (e.g. 169.254.169.254) and internal service data. No EPSS score, KEV listing, or public POC is present in the input, so exploitation is not confirmed in the wild - but the trivial exploitability (a single crafted url query parameter) and the fact that self-registration may be permitted keep real-world risk meaningful wherever Termix is internet-exposed. The main tempering factor is prevalence: Termix is a niche self-hosted OSS product, so this is a real priority for the (small) population running affected instances rather than a broad ecosystem threat. S:C (scope change) is defensible since the attack pivots to and reads other systems (metadata service, internal hosts); a conservative analyst could argue S:U, but it does not change the overall HIGH rating. |
| Exploit ScenarioDerived | An attacker registers or logs into a low-privilege Termix account and calls GET /homepage/proxy with url set to http://169.254.169.254/latest/meta-data/iam/security-credentials/ or an internal service URL. Because new URL performs only syntactic validation with no allowlist or private-range blocking, the backend fetches the target and returns the full JSON response, handing the attacker cloud IAM credentials or internal service data. No public exploit code is identified at time of analysis, but the attack requires only a single crafted query parameter. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 24, 2026
Server-side request forgery in Termix 2.5.0 allows an authenticated user - including a self-registered low-privilege account where open registration is enabled - to make the Termix backend fetch arbitrary internal URLs through the /homepage/proxy endpoint. Because the handler JSON-parses the fetched body and returns the complete response to the caller, an attacker can reach loopback, RFC1918, link-local and cloud metadata destinations (notably 169.254.169.254) and exfiltrate internal service data and cloud credentials. The vulnerable code path existed only in the narrow 2.5.0-to-2.5.1 window, is fixed in 2.5.1, and no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Termix to version 2.5.1 (release-2.5.1-tag), which is the exact fixed version per the vendor advisory GHSA-mwr3-35ph-pjqg; the change is carried by PR #1067 and commits 4b2a60a854281d0e12e7c9bcde71854a81999ea0 and ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e. If immediate upgrade is not possible, the most direct compensating control is to remove or disable the /homepage/proxy route (and the homepage proxy widget that depends on it) at the reverse proxy or by patching the route out, at the cost of losing the homepage proxy feature for all users. Restrict outbound egress from the Termix backend host with a firewall or egress policy that denies RFC1918, loopback, 169.254.0.0/16 and IPv6 ULA/link-local ranges, allowing only explicitly required destinations - this breaks any legitimate homepage widgets that need to reach internal services. Because the vulnerable request is issued as a plain GET with no custom headers, enforcing AWS IMDSv2 (token-required metadata access) prevents the highest-impact credential-theft path on EC2, though it does not stop SSRF against other internal HTTP services. Finally, disable open self-registration in Termix and audit/remove untrusted accounts, since the assessment notes that a self-registered account is sufficient to exploit the endpoint; this reduces but does not eliminate risk from already-provisioned low-privilege users. No public exploit code or active exploitation was identified at time of analysis, so these measures can be prioritized against other exposure, but the low attack complexity and the S:C confidentiality scope warrant prompt patching of any 2.5.0 instance running in a cloud environment.
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
The issue is CWE-918 (Server-Side Request Forgery) in Termix, a web-based server management platform offering SSH terminal, tunneling and file editing. In src/backend/database/routes/homepage-proxy-routes.ts, the /homepage/proxy Express route accepted an authenticated user's url query parameter and passed it directly to Node's http.get or https.get. The only validation performed was Node's new URL() constructor, which is purely syntactic: it confirms the string parses as a URL but says nothing about the destination host, so the backend would happily connect to 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 link-local addresses (including cloud instance metadata services such as 169.254.169.254) and other special-purpose ranges. The response was streamed into a buffer, JSON.parse'd and returned in full to the requester. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N reflects that the attack is network-reachable, needs only a low-privileged account, requires no user interaction, crosses a security scope boundary (the backend acts as a proxy into networks the attacker cannot otherwise reach), and yields high confidentiality impact with no integrity or availability effect. The upstream fix replaces naive URL parsing with explicit destination filtering: it resolves the hostname via dns/promises lookup, rejects any address matching a Node BlockList of IPv4 ranges (0.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16, 198.18.0.0/15, 224.0.0.0/4, 240.0.0.0/4) and IPv6 ranges (::/128, ::1/128, ::ffff:0:0/96, fc00::/7, fe80::/10, ff00::/8), rejects URLs carrying embedded username/password, and pins the outbound connection to the validated resolved address while preserving the Host header - a pattern that also mitigates DNS-rebinding style bypasses. Per the CPE cpe:2.3:a:termix-ssh:termix the affected component is the Termix application itself (the termix-ssh project namespace).
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:C/C:H/I:N/A:N
Network-reachable endpoint needing only a low/self-registered account (PR:L); full JSON response returned so C:H; SSRF reaches other systems (S:C); no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. From 2.5.0 until 2.5.1, the /homepage/proxy endpoint accepts an authenticated user's url query parameter and passes it to http.get or https.get without destination restrictions. In src/backend/database/routes/homepage-proxy-routes.ts, new URL performs only syntactic validation, allowing requests to loopback, RFC1918, link-local, and cloud metadata destinations. The endpoint returns the complete fetched JSON response, so a low-privilege or self-registered account can exfiltrate internal service data and cloud credentials. This issue is fixed in version 2.5.1.
Technical POC Analysis
CWE-918 (Server-Side Request Forgery).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Termix 2.5.0 contains a server-side request forgery flaw in its /homepage/proxy endpoint that allows a user of the application to make the backend retrieve and return internal-only content, including cloud instance metadata such as 169.254.169.254. Where open registration is enabled, this raises the risk that even self-registered, low-privilege accounts can reach internal services and cloud credentials, which could enable lateral movement and broader compromise of hosted workloads. No public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor has released a fix in version 2.5.1, making this a fast, low-cost remediation for any organization still running the affected release.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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-86199
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB