OpenBSD 6.7

2020-05-19 21:34:58

安全方面的改进:现在82个userland程序中使用了PROCLILL(2)来编校文件系统访问。在vmstat(8)、iostat(8)和systemat(1)中,使用deposil(2)减少文件系统访问。从BIND(8)源代码中提取digg(1)、host(1)和nslookup(1),并通过删除不需要的功能并对其进行审计来清理源代码。这些程序可访问的内核API现在通过保证(2)受到限制。现在只能从选定的代码区域执行系统调用:主程序ld.so(1)、libc.so和信号蹦床。新的系统调用msyscall(2)指示libc范围,并激活锁定。此更改加强了对某些攻击方法的抵抗力。阻止堆栈跟踪保存检查AMD64、ARM64和i386上的不受信任数据。在SMAP之前的CPU上使用lfigure代替STAC/CLAC,以防止针对内核的负载值注入攻击。防止了由于缺少sysctl(2)输入验证而导致的死机。使用rdrand()超时作为熵事件注入获取熵失败,以及测量vmexit延迟的额外rdtsc。强制要求ksh(1)TMOUT为整数文字,以防止在shell初始化时从环境执行命令。已确保AMD64内核的第一个2MB页在直接映射中正确映射为只读。通过将系统调用ABI更改为跳过两条指令并在每个系统调用后插入屏障,解决了ARMv7/arm64推测执行问题。修复了ERET之后的arm64指令推测性执行问题,该问题导致某些处理器上出现类似幽灵的效果。已收紧USB设备节点的权限。确保ld.so(1)在内存不足的情况下删除了SET-USER-ID和SET-GROUP-ID可执行文件的LD_LIBRARY_PATH环境变量。为加密添加了对RSA-PSS的支持(3)。增加了OCTEON/MIPS64的后卫。解决了以下安全错误:在su(1)中使用-L(循环)模式时,每次通过循环重置登录类。修复了CVE-2019-19519。修复了libc';的身份验证权限分离层执行的用户名验证不足的问题,并添加了额外的验证点,从而在login(1)和su(1)中进一步验证。已通过与路径相关的环境变量阻止升级到xlock(1)中的auth组,并禁用了Mesa和OpenGL功能。

路由守护进程和其他用户端网络改进:在bgpctl(8)中添加对JSON输出的初始支持。允许在bgpd.conf(5)组块中同时设置IPv4和IPv6本地地址。引入无本地地址以重置以前设置的本地地址。正确地将重复的bgpd(8)Roa表前缀/source-as组合聚合到具有最长最大长度的单个条目中。实现了bgpd.conf(5)max-prefix NUM out,以限制通告的前缀数量,避免将整个表泄漏给上游和对等体。扩展的bgpctl(8)显示邻居以包括接收和设置的前缀计数,以及最大前缀输出限制(如果设置)。改进了通知报告,以包括次错误原因。还要在bgpctl(8)show neighbor输出中报告最后收到的错误原因。修复softreconfig out处理,使其也适用于使用导出默认路由的邻居。标记Adj-RIB-Out中的陈旧前缀,以便正常重新加载。允许配置OSPFD(8)接口设置";类型P2P&34;以全局或按区域配置。添加了对广播接口的点对点ospf6d(8)支持。在使用之前验证RIPD(8)中的身份验证长度,以防止崩溃。修复了由于水平分割简单而跳过条目时RIPD(8)发出的空响应数据包。在slacd中将临时地址有效寿命缩短为2天(8)。使slacd(8)在配置默认路由时遵循其运行的rdomain。已撤回在slacd(8)启动时的所有建议,以防止在不再标记为autoconf的接口上无限期保留名称服务器。修改LDPD(8)以通过LSR ID以及源IP地址查找邻接关系,因为远程对等体可能改变其LSR ID。添加了对将RFC 2332 NBMA下一跳解析协议(NHRP)打印到tcpdump(8)的支持。添加了对打印RFC 8300网络服务报头(NSH)的tcpdump(8)支持。添加了对VXLAN-GPE的tcpdump(8)支持。修复了打印格式错误的数据包的内容时发生的tcpdump(8)崩溃,其中数据包长度小于usbpcap标头的大小。已重写tcpdump(8)中的dhcpv6解析以匹配RFC,从而正确处理dhcpv6消息。在ifconfig(8)中接受IPv6的网络掩码,而不是忽略它并仅使用prefix len参数。修复了SNMP(1)代理地址解析,以允许根据格式使用IPv6地址,如果端口导致无意义的地址(允许使用::1),则允许无括号的用户跳过该端口,并尝试立即连接到该地址。已为SNMP(1)实施df子命令,该命令

错误修复确保了旧版SSL(8)会话ID在客户端TLS会话期间保持不变,并使用带有smtp.mail.yahoo.com的TLSv1.3修复了问题。修复了smtpd(8)中的安全漏洞。更正了smtpd中的越界读取,使得攻击者能够将任意命令插入到要以超级用户身份执行的信封文件中,并确保了smtpctl(8)中的权限吊销,以防止使用_smtpq组运行任意命令。允许mail.local(8)以非根用户身份运行,打开通往锁定假脱机(%1)的管道以锁定文件。修复了smtpd(8)中的安全漏洞,该漏洞可能导致mbox交付上的权限提升和lmtp交付上的非特权代码执行。在smtpd(8)的a:spf原子中添加了对CIDR的支持。修正了smtpd(8)在组合"时可能崩溃的问题;来自RDNS";,在特定配置下具有嵌套的虚拟别名。

LibreSSL 3.1.1新特性使用全新的状态机和记录层完成了最初的TLS 1.3实现。TLS1.3现在默认情况下为客户端启用,服务器端将在将来的版本中启用。请注意,OpenSSL TLS 1.3 API还不可见/不可用。改进了密码套件处理,以便在密码字符串中未显式引用TLSv1.3密码套件时自动包括它们。

API和文档增强兼容性更改测试和主动安全内部改进便携改进错误修复了使用X509_PRINT_EX()在大于INT值的情况下使用冒号分隔的十六进制字节打印seralNumber的问题。

OpenSSH 8.3可能不兼容的更改。sftp(1):以与ssh(1)和scp(1)相同的方式拒绝";-1";的参数,而不是接受并默默忽略它。已从允许的CA签名算法列表中删除ssh-rsa(Sha1)。从默认ssh(1)密钥交换中删除了diffie-hellman-group14-sha1。ssh-keygen(1):与Diffie-Hellman-group-exchange-*密钥交换算法使用的安全素数的生成和筛选相关的命令行选项已经更改。大多数选项都放在-O标志下。sshd(8):PS(1)可见的sshd侦听器进程标题已更改,以包括有关当前正在尝试身份验证的连接数和由MaxStartups配置的限制的信息。ssh-sk-helper(8):这是一个新的二进制文件。FIDO/U2F支持使用它为令牌中间件库(包括内部库)提供地址空间隔离。它需要安装在/usr/libexec下的预期路径中。

新特性允许在sshd_config(5)文件中的任何位置使用IgnoreRhosts指令,而不仅仅是在Match块之前,并使其成为三态选项。添加了令牌百分比扩展(即用户ID、主机名等)。用于Unix域套接字转发时设置为ssh(1)LocalForward和RemoteForward。全部:如果不存在相应的公钥文件,则允许从私钥文件的未加密信封加载公钥。使ssh-keygen(1)能够使用ssh-keygen-lqf/path转储二进制密钥撤销列表的内容。为所有密钥和签名类型添加ssh(1)-q key-sig选项。教导ssh-q接受ssh_config(5)和sshd_config(5)算法关键字作为相应查询的别名。更新到libfido2 780ad3c25。添加了sshd_config(5)";包括";指令,以允许包含文件。将ssh-add(1)-O重命名为-K以从FIDO验证器加载驻留密钥。添加了通过ssh-keygen(1)-K选项从令牌下载FIDO2驻留密钥并将公钥/私钥保存到当前目录的功能。实现了对生成FIDO2驻留密钥的支持。";ssh-add-O";将从FIDO2令牌加载驻留密钥,并将它们添加到ssh-agent。删除了当前用于FIDO/U2F特定密钥标志的-x选项,现在位于-O下。删除了ssh-keygen(1)中用于模数生成的单个字母标志,并将所有模数生成选项移至-O标志下。中断与模相关操作的现有ssh-keygen命令行语法。允许将不同的代理套接字转发到ssh(1)中的指定路径。允许ssh(1)安全密钥充当主机密钥和用户密钥。已将ssh-sk-helper用于所有安全密钥签名操作和安全密钥注册。大多数ssh(1)工具不再需要链接到libfido2或直接与/dev/uhid*交互。向ssh-keygen(1)和sshd(8)添加了";无触摸要求";选项,以禁用授权密钥和证书的触摸要求。添加了sshd_config(5)PubkeyAuthOptions指令,该指令允许指定sshd(8)是否应在创建安全密钥之前检查是否测试了用户状态。在ssh(1)中增加了对U2F/FIDO2安全密钥的直接支持。在ssh中添加了支持U2F/FIDO的初始基础设施(1)