文章总结: OpenSSH10.3及10.3p1版本修复了ProxyJump(-j)选项中的shell注入漏洞,现会验证命令行输入值;修正了证书处理行为,空principals不再匹配任何主体,且用户证书明确不支持通配符;同时停止与不支持密钥重协商的旧版本兼容。管理员需优先升级,特别是存在动态构建ProxyJump或使用用户输入的环境,并检查现有证书是否含空主体字段。 综合评分: 85 文章分类: 漏洞预警,解决方案,应用安全,网络安全
OpenSSH 10.3 修复了 Shell 注入和多个 SSH 安全问题
原创
网络安全9527 网络安全9527
安全圈的那点事儿
2026年4月3日 12:11 北京
OpenSSH 项目于 2026 年 4 月 2 日发布了 10.3 和 10.3p1 版本,修复了shell 注入漏洞,并引入了多项安全加固更改,管理员在升级前应查看这些更改。
此次最值得关注的安全修复针对的是-J(ProxyJump) 命令行选项中的 shell 注入漏洞。在此版本之前,通过命令行传递的用户名和主机名-J未经-oProxyJump="..."验证,如果这些值直接来源于恶意输入,则存在 shell 注入漏洞。
该漏洞由一位名为“rabbit”的研究人员报告。OpenSSH 开发人员指出,将这些选项暴露给不受信任的输入“从一开始就是个糟糕的主意”,但修复程序确保恶意或格式错误的值在验证阶段就会被拒绝。重要的是,此验证仅适用于命令行用法,配置文件条目仍将保持未经验证的状态。
证书处理中一个微妙但可能存在风险的行为sshd也得到了纠正。以前,如果颁发的 SSH 证书的 principals 部分为空,则会被视为通配符,实际上允许任何信任颁发证书的证书颁发机构 (CA) 的用户通过authorized_keys.
这种行为是有意为之的设计,但却造成了一个危险的极端情况:如果 CA 意外地颁发了一个没有定义主体的证书,则可能会被利用来进行广泛的未经授权的访问。
OpenSSH 10.3 版本
OpenSSH 10.3 改变了这种行为,使得空的 principals 部分永远不会匹配任何 principal,从而消除了意外使用通配符的风险。
此外,证书主体中的通配符现在对主机证书强制执行并受支持,但对用户证书明确不支持,从而带来更清晰、更可预测的访问控制。
OpenSSH 也已停止向后兼容不支持传输层密钥重协商的 SSH 实现。任何无法处理密钥重协商的旧版 SSH 客户端或服务器,一旦传输层需要密钥重协商,最终都将无法与 OpenSSH 互操作。
这一变化加强了协议的合规性,并取消了可能削弱长时间会话安全保证的长期变通方法。
运行 SSH 基础架构的安全团队应优先考虑此更新,尤其是在通过编程方式构建 ProxyJump 选项或从用户输入获取选项的环境中。
证书主体行为的改变可能还需要审查现有的 CA 颁发的证书,以确保没有证书的主体字段为空。
OpenSSH 10.3 可通过 openssh.com 上列出的官方镜像站点下载。该项目一直是安全远程访问基础设施的基石,此次发布体现了为弥补一些细微但影响深远的安全漏洞而持续做出的努力。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全圈的那点事儿 网络安全9527 网络安全9527《OpenSSH 10.3 修复了 Shell 注入和多个 SSH 安全问题》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论