漏洞总结:CVE-2026-4631 Cockpit SSH 命令行参数注入 漏洞概述 CVE编号: CVE-2026-4631 漏洞名称: Cockpit: Unauthenticated remote code execution due to SSH command-line argument injection (Cockpit: 因SSH命令行参数注入导致的未授权远程代码执行) 严重等级: Urgent (紧急) 描述: Cockpit 默认支持通过 SSH 登录到远程机器。在版本 326/327 及之后,Cockpit 使用 OpenSSH 的 客户端。攻击者只需提供任意 头(即使凭据无效),即可触发 请求。由于 SSH 连接参数(用户名和主机名)作为命令行参数传递给 且未进行验证或清理,攻击者可注入恶意命令。 影响范围 受影响组件: Cockpit (Security Response) 操作系统: Linux 受影响版本: Cockpit 版本 326/327 及之后(使用 OpenSSH 客户端的版本)。 特定配置下:如果 Cockpit 主机 使用了 指令。 OpenSSH 版本 < 9.6(未启用早期主机名验证)。 POC/利用代码 页面中提供了两种主要的利用场景代码示例: 1. 恶意远程用户名注入 (导致 RCE) 利用 SSH 配置中的 指令: 攻击者注入的用户名示例: 这将导致 执行类似 的命令。 2. 恶意主机名注入 (导致 RCE) 攻击者通过 URL 路径传递包含选项的主机名(利用缺少 分隔符的漏洞): 这会导致 将 解释为选项而非主机名,从而执行恶意命令。 修复方案 1. 添加分隔符: 在 (beiboot.py) 中,在目标参数前添加 分隔符,以防止选项注入。 2. 验证输入: 验证用户名和主机名,仅允许字符白名单。参考 OpenSSH 源码中的 和 函数进行验证。