文章摘要
OpenSSH 10.4于2026年7月6日发布,包含多项不兼容变更:sshd -G输出改为混合大小写;Linux系统上seccomp沙箱失败将直接终止;传输协议加强,在密钥重交换期间收到非密钥交换消息将断开连接。
文章总结
好的,这是根据您的要求,对OpenSSH 10.4发布公告主要内容的中文重述:
OpenSSH 10.4 发布公告(2026年7月6日)
OpenSSH 10.4 版本于2026年7月6日发布。该版本包含多项安全修复、常规错误修复以及一些新功能。
潜在不兼容变更:
- sshd配置转储模式 (
sshd -G):现在输出的指令名称采用大小写混合格式(如“PubkeyAuthentication”),而之前仅输出小写名称。 - Linux系统上的seccomp沙箱:如果启用沙箱但无法启用
SECCOMP或NO_NEW_PRIVS,现在将导致致命错误。之前,sshd会记录错误但继续运行。现在,缺乏这些功能的系统应在配置时禁用沙箱。 - 传输协议更严格:在认证后的密钥重新交换期间,如果对端发送非密钥交换消息,连接将被断开。此前,恶意对端可以无代价地持续发送非密钥交换消息,导致内存浪费。
安全修复:
- sftp:修复了使用命令行下载文件时,恶意服务器可能将文件下载到意外位置的问题。
- scp:修复了在两个远程目标之间复制文件时,不允许恶意服务器将文件写入目标目录的父目录的问题。
- sshd (internal-sftp):修复了长命令行在第9个参数后被静默截断的问题,可能导致第10个及之后的安全相关选项被丢弃。
- sshd:修复了
DisableForwarding=yes未能按文档说明覆盖PermitTunnel=yes的问题。 - sshd (GSSAPIAuthentication):修复了启用此功能(默认关闭)时可能存在的预认证拒绝服务漏洞。
- sshd:修复了多个未强制执行最小认证延迟的情况。
- ssh:修复了服务器在密钥重新交换期间更改其主机密钥时,可能导致的客户端释放后使用问题。
新功能:
- 实验性后量子签名方案:增加了对结合ML-DSA 44和Ed25519的复合后量子签名方案的支持。此方案默认未启用,需要手动添加到相关算法列表中,并使用
ssh-keygen -t mldsa44-ed25519生成密钥。 - 通配符模式匹配器:替换为基于NFA的实现,避免了旧实现的指数级最坏情况性能问题。
主要错误修复:
- 修复了
ssh-agent对特定扩展请求的错误回复。 - 修复了
sshd在GSSAPIAuthentication中为有效和无效用户发送不同消息的问题。 - 修复了将批量流量错误分类为交互式流量的多个错误。
- 修复了
ssh-keygen和ssh-add在从FIDO令牌下载驻留密钥时跳过不支持的密钥类型的问题。 - 修复了
ssh在cipher_init()失败时可能出现的释放后使用问题。 - 对sshd权限分离子进程间传递的传输状态进行了更严格的编码和验证。
- 修复了
sftp中的两个单字节越界读取问题。 - 禁止
sftp-server使用copy-data扩展同时读写同一个inode。 - 修复了X11通道相关的一个
strlen(NULL)崩溃问题。 - 修复了
sftp和scp在遇到损坏服务器时可能陷入循环的问题。 - 修复了DNS0x20随机化名称泄露到规范名称中的问题。
- 修复了
sftp-server中路径名截断的问题。 - 对
sshd_config的解析和管理代码进行了重大重构。 - 修复了
ssh-add在getopt处理完成前就打开与代理连接的问题。 - 修复了密码学代码中ed25519验证的签名可塑性及公钥有效性检查。
- 修复了ECDSA阶数检查的问题。
- 修复了
ssh在使用PEM格式私钥时可能出现的空指针解引用崩溃。 - 修复了
sshd在加载PKCS#11密钥时打印错误消息的问题。 - 修复了
sftp中“ls -ln”命令未正确显示数字UID/GID的问题。 - 修复了多处未能有效防止加载过大公钥的问题。
- 确保
sftp用于与ssh子进程通信的文件描述符不会泄露到执行的子进程中。
可移植性修复:
- 同步了
fmt_scaled.c、getrrsetbyname.c等文件与上游OpenBSD的更新。 - 移除了
sshd中重复的沙箱条目。 - 修复了Android上的fortify警告。
- 修复了可移植性代码中的多个内存泄漏问题。
- 更新了
README.privsep文档以反映sshd的多二进制模型。
评论总结
根据评论内容,主要观点和论据总结如下:
1. 新版本发布信息
- 评论1提供了OpenSSH 10.4的HTML版发布说明链接。
- 关键引用:"HTML version of release notes"(评分:None)
2. 新增后量子密钥支持
- 评论2指出10.4版本新增了后量子密钥(复合ML-DSA 44和Ed25519),但默认未启用。
- 关键引用:"10.4 adds post-quantum keys (composite ML-DSA 44 and Ed25519), not enabled by default"(评分:None)
- 评论2还提到,2019年添加后量子密钥协商时,约3年后才默认启用,但作者对此无批评,仅作观察。
- 关键引用:"When pq key agreement was added in 2019, it took almost 3 years for it to become enabled by default"(评分:None)
3. 对默认加密算法的疑问
- 评论3询问hmac-sha1和umac-64是否仍默认启用,反映对安全性的关注。
- 关键引用:"Is hmac-sha1 and umac-64 still enabled by default?"(评分:None)
总结:评论主要围绕OpenSSH 10.4的新功能(后量子密钥)和默认配置(加密算法)展开,观点平衡,无显著争议。