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.
The Termix application uses the req.ip method to determine whether a request originates from the local host — if so, the isLocalhost function returns True and access to protected endpoints is granted without authentication. When the platform runs behind Nginx acting as a reverse proxy (as in the official Docker image), the backend sees the IP address of the proxy itself instead of the actual client address, causing isLocalhost to always evaluate to True. A remote attacker without any credentials can directly invoke the /ssh/db/host/internal endpoint and download the complete database of saved SSH connections along with passwords. The vulnerability results from incorrect access control (CWE-284), reliance on unverified IP headers (CWE-348), and lack of verification of request origin authenticity (CWE-345).
An unauthenticated attacker can gain full access to SSH data stored on the server — host addresses, usernames, and passwords — which consequently enables takeover of all servers managed by the Termix platform.
Termix should be updated to version 1.6.0 where the issue has been fixed. As a temporary workaround, it is recommended to restrict network access to the /ssh/db/host/internal endpoint at the firewall or reverse proxy configuration level to only trusted IP addresses.
Termix versions 1.5.0 and earlier — affects users using the official Termix Docker image, building their own image from the official Dockerfile, or using reverse proxy functionality.
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XTermix
APPTermix0.1.1 – 1.6.0
Related vulnerabilities
Command injection w Termix File Manager via parametr path (GET resolvePath)
Termix: OS command injection w endpointcie resolvePath (RCE)
Broken Access Control w Termix — nieautoryzowany dostęp do sesji File Manager
Command injection w Termix – endpoint SSH tunnel bez sanityzacji danych wejściowych
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. ...