经过六个月的开发,开源客户端 OpenSSH 10.3 已经发布。 伺服器 适用于 SSH 2.0 和 SFTP 协议。主要变更:
- 已修复一个漏洞,该漏洞可能允许攻击者通过控制启动 ssh 工具时传递的用户名来执行任意 shell 命令。此漏洞存在于使用某些配置文件指令(例如“Match exec”)中的“%u”替换的系统上。该问题是由在 ssh_config 配置文件中执行 % 替换后对用户名中的特殊字符进行验证引起的。
- sshd 的一个安全漏洞已修复。该漏洞是由于证书中名称(主体)列表与 authorized_keys 参数 principals="" 选项匹配错误导致的,尤其是在名称包含逗号 (",") 的情况下。利用此漏洞需要 authorized_keys principals="" 选项中指定多个名称,并且证书颁发机构 (CA) 颁发的证书中包含多个以逗号分隔的名称(这通常是不允许的)。对于名称为空的证书,其行为也已更改:之前,所有 authorized_keys principals="" 选项都会覆盖空名称,但现在不再覆盖。
- 修复了 scp 中的一个问题,即以 root 用户身份使用 -O 选项上传文件而不使用 -p 选项时,不会清除 setuid/setgid 标志。
- 在 sshd 中,PubkeyAcceptedAlgorithms 和 HostbasedAcceptedAlgorithms 指令中处理 ECDSA 密钥的问题已得到修复,因此,如果指定了任何 ECDSA 算法(例如,“ecdsa-sha2-nistp384”),则所有其他基于 ECDSA 的算法也会被接受,即使它们没有被明确列为可接受的算法。
- 在与 SSH 代理交互时,ssh 和 sshd 现在支持 IANA 在 draft-ietf-sshm-ssh-agent 规范草案中定义的标识符(代码点)。同时,也保留了对先前使用的标识符(例如“@openssh.com”)的支持。
- ssh-agent 实现了 draft-ietf-sshm-ssh-agent 规范中定义的“query”扩展,该扩展允许确定代理支持的功能。ssh-add 工具中已添加了“-Q”选项,用于查询支持的协议扩展列表。
- 在 sshd_config 中,可以在 RevokedKeys 指令中指定多个文件;在 ssh_config 中,可以在 RevokedHostKeys 指令中指定多个文件。
- SSH 现在有转义命令“~I”和选项“-O conninfo”来显示有关当前连接的信息,还有选项“-O channels”来显示有关打开通道的信息。
- 在 sshd 中,PerSourcePenalties 指令现在包含“invaliduser”选项,用于在尝试使用不存在的用户登录时添加延迟(默认为 5 秒)。此外,还增加了指定非整数延迟值的功能。
- sshd 中添加了 GSSAPIDelegateCredentials 选项,用于控制接受客户端提供的委托凭据。
- ssh-keygen 现在支持以 PKCS8 格式写入 ED25519 密钥。
- 增加了对 ed25519 数字签名方案的支持,该方案通过 libcrypto 实现。
来源: opennet.ru
