以下是关键信息的简洁Markdown格式: 命令注入漏洞通过公共密钥内容 I. 漏洞概述 在公共密钥管理系统中发现了命令注入漏洞。 认证用户可以利用该漏洞,在远程系统上执行恶意命令。 提交者: Ana10gy 项目: Bastillion SSH Key Manager 类型: 命令注入 供应商: bastillion-io 影响版本: v4.0.1 及之前版本 修复版本: 无,漏洞尚未修复(截至 2025-12-18) II. 漏洞影响 在布置了恶意密钥的所有系统上执行任意 shell 命令。 修改系统配置和文件。 从受控系统中抽取敏感数据。 破坏 SSH 身份认证的完整性。 在目标主机上建立持久访问。 III. 影响范围 受影响文件: - - 公共密钥的创建和管理。 - - 公共密钥的存储和检索。 - - SSH 密钥的分发操作。 受影响版本: 所有包含公共密钥管理功能的版本。 IV. 利用条件 1. 身份认证:攻击者必须是具有公共密钥上传权限的认证用户。 2. 访问:攻击者必须能够访问公共密钥管理界面( )。 3. 触发:当应用程序将密钥分发到目标系统时,恶意命令被执行。 V. 漏洞分析 1. 根因 公共密钥内容仅对 SSH 格式进行了验证,但未检查恶意负载。 公共密钥内容被插入至 shell 命令中而未对单引号转义。 2. 攻击向量 1. 攻击者创建包含命令注入负载的公共密钥。 2. 公共密钥通过最简单的 SSH 格式验证后储存在数据库中。 3. 应用程序将恶意密钥分发至目标系统。 4. 钥钥分发过程中在目标系统上执行恶意命令。 VI. 推荐措施 1. 转义用户控制的内容: 在用于 shell 命令之前,转义公共密钥内容中的所有单引号和特殊 shell 字符。 2. 避免执行 shell 命令: 替换 和 类命令,使用 SSH 客户端 API 调用。 3. 加强密钥验证: 限制公共密钥备注仅包含安全字符。 4. 应用最小权限原则: 仅对可信用户开放公共密钥上传权限,限制密钥分发格式。