FreeBSD 12.4-RELEASE 的发行说明总结了在 12-STABLE 开发分支中对 FreeBSD 基本系统所做的变更。本文件列出了自上次发布以来发布的适用安全公告,以及对 FreeBSD 内核和用户空间的重大变更。同时还提供了一些关于升级的简要说明。
本文件包含 FreeBSD 12.4-RELEASE 的发行说明,介绍了 FreeBSD 最近新增、修改或删除的功能,并提供了从早期版本的 FreeBSD 升级的相关说明。
这些发行说明适用于 12-STABLE 开发分支中最新的版本点,自 12-STABLE 创建以来的所有改动均包含在内。关于此分支的预构建二进制发行版本的更多信息,请访问 https://www.FreeBSD.org/releases/。
这些发行说明适用于 12-STABLE 开发分支中,自 12.3-RELEASE 以来的某个开发节点。12.4-RELEASE 预计将成为 12-STABLE 分支的最终发行版本。有关该分支预构建二进制发行版本的更多信息,请访问 https://www.FreeBSD.org/releases/。
FreeBSD 12.4-RELEASE 的发行版本是一个正式发布版本,可通过 https://www.FreeBSD.org/releases/ 或其镜像站点获取。关于获取此版本(或其他版本)更多信息,请参考 FreeBSD Handbook 中的 Obtaining FreeBSD 附录。
所有用户在安装 FreeBSD 之前都应查看发行勘误文件。勘误文件会包含在发行周期后期或发布后发现的“最新信息”,通常包括已知问题、安全公告和文档更正。FreeBSD 12.4-RELEASE 的最新勘误文档可以在 FreeBSD 官网找到。
本文档介绍了自 12.3-RELEASE 以来 FreeBSD 中最显著的新功能或变更。一般来说,这些变更是 12-STABLE 分支独有的,除非明确标注为合并(MERGED)特性。
发行说明通常涉及 12.3-RELEASE 之后发布的安全公告、新的驱动或硬件支持、新命令或选项、主要的错误修复或第三方软件升级。文档可能还会列出主要的 Port/软件包变更或发布工程实践改进。显然,发行说明无法列出每一个变更;本文档主要关注安全公告、用户可见的变更和主要的架构改进。
可以使用 freebsd-update(8) 工具支持 RELEASE 版本之间的二进制升级(以及各安全分支的快照)。二进制升级过程会更新未修改的用户空间工具和作为 FreeBSD 官方发行版一部分的未修改 GENERIC 内核。使用 freebsd-update(8) 工具要求升级的主机具备互联网连接。
基于源码的升级(即通过重新编译 FreeBSD 基本系统从源码进行升级)受到支持,具体请参阅 /usr/src/UPDATING
中的说明。
在尝试升级 FreeBSD 之前,必须备份所有数据和配置文件。
本节列出了自 12.3-RELEASE 发布以来的各种安全公告和勘误通知。
2022 年 3 月 15 日
多个 WiFi 问题
2022 年 3 月 15 日
OpenSSL 证书解析无限循环
2022 年 4 月 6 日
netmap 中可能的 jail 越狱漏洞
2022 年 4 月 6 日
Bhyve e82545 设备模拟越界写入
2022 年 4 月 6 日
mpr/mps/mpt 驱动程序 ioctl 堆越界写入
2022 年 4 月 6 日
802.11 堆缓冲区溢出
2022 年 4 月 6 日
zlib 压缩越界写入
2022 年 8 月 9 日
elf_note_prpsinfo()
中越界读取
2022 年 8 月 9 日
AIO 凭据引用计数泄漏
2022 年 8 月 9 日
由于过时的虚拟内存映射导致的内存泄漏
2022 年 8 月 30 日
zlib 堆缓冲区溢出
2022 年 11 月 29 日(修订版)
Heimdal 中的多个漏洞
2022 年 11 月 29 日
ping(8) 的堆栈溢出
2022 年 1 月 11 日
不正确的 XSAVE 状态大小
2022 年 1 月 11 日
与某些 Hyper-V 版本的 vPCI 兼容性改进
2022 年 1 月 11 日
不正确的 PCID 模式无效化
2022 年 1 月 11 日
libalias 中不正确的分片 IPv4 包处理
2022 年 2 月 1 日
i386 TLB 无效化逻辑中的回归
2022 年 3 月 15 日
freebsd-update
创建错误的启动环境
2022 年 3 月 22 日
时区数据库信息更新
2022 年 8 月 9 日
在 SCSI 错误恢复期间的内核内存损坏
2022 年 8 月 30 日
时区数据库信息更新
2022 年 11 月 1 日
时区数据库信息更新
2022 年 11 月 29 日
Heimdal KDC 中的回归
本节涉及用户空间应用程序、第三方软件以及系统工具的变更和新增内容。
ar(1) 工具不会覆盖标准输出流指针,以使其与 musl 库兼容。它还弃用了 -T
参数。21a6c9bd6f2f(由 FreeBSD 基金会赞助)
cp(1) 工具将检测由 -R
参数引起的无限递归并将其消除。b57954717ddf a605ca25ef68(由 Klara, Inc. 赞助)
cp(1) 工具将正确地处理参数 -H
、-L
和 -P
。特别是,当指定 -H
或 -P
时,它不会解析遍历过程中遇到的符号链接。1d9f60b05128(由 Klara, Inc. 赞助)
cp(1) 工具将允许 -P
在没有 -R
的情况下工作,符合 POSIX 标准。19413ce66cc0
df(1) 工具现在将支持同时使用参数 -l
和 -t
。如果同时指定,它将把 -t
选项的参数列表应用于本地文件系统的选择。741b90dc69ee
elfctl(1) 工具在没有变更的情况下将避免修改文件。e048bd5c0954(由 FreeBSD 基金会赞助)
elfctl(1) 工具将检测主机字节序与目标字节序是否不同,并交换 ELF 注释字段的字节顺序,而不是失败。c7d961a39893(由 Stormshield 赞助)
elfctl(1) 工具对手册页进行了改进。f3cdcf235966(由 FreeBSD 基金会赞助)
elfctl(1) 工具修复了多个文件上执行多个功能时的若干错误,解决了多次指定参数 -e
和 -e
的错误处理问题。bbb92ab05fa2 a528bad95e0c d3cbb4745a13(由 FreeBSD 基金会赞助)
fsck_ufs(8) 工具修复了在与 gjournal(8) 一起使用时的段错误问题。f8145bd4bcc0
growfs(8) 工具在文件系统已经是请求的大小时不会报错。11f45b8f8009(由 FreeBSD 基金会赞助)
nfsd(8) 工具增加了若干合规性检查。0f2244008573 b5c577931db1 5ad7804beb38 c0ea059da22f
nfsd(8) 工具修复了验证如 FilesAvail 等属性时的错误。b386392ea909
nfsd(8) 工具修复了关于 NFSv4.1/4.2 会话槽释放的问题。81091a7ca11a
nfsd(8) 工具修复了在处理 pNFS 服务器的 Open/Create 操作时的错误。d5c176ad6a7b
sh(1) 工具现在将读取更多的配置文件。它将加载 /etc/profile.d
中的每个 .sh
文件,然后是 /usr/local/etc/profile
,最后是 /usr/local/etc/profile.d/
中的每个 .sh
文件。73ab1c87c208
usbconfig(8) 工具将使用 getopt(3) 来处理选项。081853844bd4
usbconfig(8) 工具的文档得到了改进。940db7edacb2
usbconfig(8) 工具新增了 -v
参数。bb0b7f405138 1cab5dac1c2d
blacklistd(8) 守护进程现在可以处理零大小的消息。5f7ae464db5b
dma(8) 工具已更新为 2022-01-27 快照。27941a274ebf
dma(8) 邮件代理现在如果使用无效(0)argc
调用,将退出。647d3bf17cd9(由 FreeBSD 基金会赞助)
dma(8) 邮件代理现在会将行数限制为 998 个字符,符合 RFC2822 标准。5c1ee92b0eba(由 FreeBSD 基金会赞助)
用于解析 XML 的 expat C 库已更新为版本 2.4.9。8a7b2fbbaae4
file(1) 工具已更新为版本 5.43。91f1a04f9baa
libarchive(3) 库已更新为版本 3.6.0。bbc312a1ec99
LLVM 工具链套件已更新为版本 13.0.0。838e2fa19531
mandoc(1) 工具已更新为版本 1.14.6。6ec92eb155fb
OpenBSM 修复了 au_read_rec
错误情况中的 free()
问题。990aa6476eec
OpenSSL 已更新为 1.1.1q。c83325e95a98
OpenSSH 已更新为 9.1p1。50cb877af1fb(由 FreeBSD 基金会赞助)
sendmail(8) 邮件传输代理修复了与 cyrus-sasl-2.1.28 身份验证相关的错误。1ccfac2381c3(由 FreeBSD 基金会赞助)
sqlite3(1) 工具已更新为版本 3.39.3。25fd07c106d8
telnet(1) 工具现在会默默忽略无效的 set ' '
和无效的 help help
命令,而不是发生段错误。eeadef8fd523
telnet(1) 工具修复了 CVE-2020-39028 漏洞。f2aa49e7fda5
telnet(1) 工具修复了 CVE-2020-10188 漏洞。229863871f52
telnetd(8) 守护进程已弃用。616b1b813891
tcpdump(1) 工具现在允许用户设置规则上的数字,这些数字将作为 pflog 标头的一部分暴露。7f944794868f(由 Rubicon Communications, LLC ("Netgate") 赞助)
tzdata 信息已更新,以修正斐济和巴勒斯坦的夏令时(DST)。74a0f31dbbd0 89e293e5dcb4
tzdata 2022f 已导入到树中。df5c24d59089
unbound(8) 工具已更新为版本 1.16.3。51206a8d11ae
wpa 已更新为版本 2.10,包括 hostapd 2.10。ea5113953168
本节涉及未分类的内核配置、系统调优和系统控制参数的变更。
hwpmc(4) 框架修复了 arm64 平台的计数器/中断状态初始化错误。 c8a4404da737(由 FreeBSD 基金会赞助)
hwpmc(4) 框架添加了 Intel Comet/Ice/Tiger/Rocketlake CPU 的ID。 d2138bddf3ec
iflib(4) 网络接口修复了在使用 vmxnet3 驱动的 VMware 虚拟机中导致崩溃的数据竞争问题。 f43d2e1199b9
iflib(4) 网络接口修复了驱动中的 VLAN 处理问题。 cf101bd5ceeb
iflib(4) 网络接口驱动框架修复了锁顺序反转(LOR)问题。 ea25a6af57e0
net80211(4) 接口增加了对 A-MSDU 设计缺陷(CVE-2020-24588)的缓解。 76ee776f4d9f
net80211(4) 接口将拒绝混合明文/加密片段(CVE-2020-26147)。 00cd5a2f614a
net80211(4) 接口将防止明文注入 A-MSDU RFC1042/EAPOL 帧(CVE-2020-26144)。 2d09e4366b67
net80211(4) 接口改进了多个验证,包括 SSID 长度和 Mesh ID 长度。 f4d0e8787a09 e7c990ba3f8d
pf(4) 框架现已确保在ICMP错误中正确的源/目的IP地址。 a50876f0ac7a(由Rubicon Communications, LLC ("Netgate") 赞助)
框架 pf(4) 修复了内存泄漏问题。 329c9b9da592
框架 pf(4) 改进了 pfsync(4) 状态的路由处理。 592b4f93632a(由Orange Business Services赞助)
sched_ule(4) 调度程序修复了当设置 kern.sched.interact
高于 32
时丧失精度的错误。 b7eded5ea1f1
虚拟内存子系统修复了一个问题,该问题导致在无法提供满意的页面集合时错误地打破了虚拟内存保留。 46549e319c52
从 DVD 安装的镜像修复了符号链接问题,便于使用光盘上的软件包。 7b05f19e9708(由Rubicon Communications, LLC ("Netgate") 赞助)
x86 CPU 上的 AES 和 SHA 加速器的驱动程序 aesni(4) 修复了一个可能的越界访问错误。 83d0a7763a92(由 FreeBSD 基金会赞助)
Allwinner SoC 中 SPI 控制器的驱动程序 aw_spi(4) 改进了 TX FIFO 下溢和 RX FIFO 溢出的 I/O 稳定性。 1e7b0dc00076
carp(4) 协议现在能够优雅地处理 net.inet.carp.demotion
的负值。 1c16de99bd7d(由 Modirum MDPay 赞助)
已更新内核驱动程序 ena(4) 为 2.6.1 版本。 1a97579ae67a(由亚马逊赞助)
驱动程序 if_epair(4) 现在允许使用多个核心处理流量,从而提高性能。 092da35a0d80(由 Orange Business Services 赞助)
隧道接口 if_gif(4) 修复了关机时的 panic 错误。 b4a51fd9c124(由 Rubicon Communications, LLC ("Netgate") 赞助)
设备 if_pflog(4) 修复了一个关于数据包长度的错误。 d41caea44ba9(由 Rubicon Communications, LLC ("Netgate") 赞助)
网络接口 if_vlan(4) 修复了一个错误,避免了在添加和删除条目时哈希表的抖动。 a5f19abeb719(由 NetApp, Inc. 赞助)
以太网控制器 igc(4) 修复了一个错误,防止在变更过滤器时正确更新 RCTL。 73e1138208a5
驱动程序 ixl(4) 修复了 VLAN 硬件过滤的一些问题。 83ca71099913
驱动程序 ixl(4) 修复了一些 panic 错误。 749c7da9b9b4
mpr(4) 在固件更新期间修复了一个 panic 错误。 956f15e74d66
驱动程序 mpr(4) 和 mps(4) 实施了更强大的设备映射功能。 9d842d84f49a(由 iXsystems, Inc. 赞助)
设备驱动程序 ocs_fc(4) 修复了内存泄漏问题。 12e6cbd15853
设备驱动程序 ocs_fc(4) 修复了两个使用后释放(use-after-free)错误。 241d13765504 fa3e66e9f7cd
设备驱动程序 ocs_fc(4) 修复了一个可能的空指针解引用错误。 9199f5e0ba5c
虚拟设备 pfsync(4) 修复了一些锁定错误。 7164b77ce2f3(由 Rubicon Communications, LLC ("Netgate") 赞助)
虚拟设备 pfsync(4) 修复了一些 NULL 检查错误。 bbbe18b31795 f3b722fed330(由 Rubicon Communications, LLC ("Netgate") 赞助)
虚拟设备 pfsync(4) 修复了一个延迟模式错误。 c36006be5424(由 Rubicon Communications, LLC ("Netgate") 赞助)
x86 上的驱动程序 random(4) 现在将优先使用 RDSEED,而不是 RDRAND(如果可用),根据 Intel 文档。 a68e606c402e
设备 random(4) 进行了一些改进,现在使得熵源的注销更为安全。 7878a69e0415
驱动程序 rk_i2c(4) 进行了多项改进,包括将可发送的字节数增加到 32。 342d73431ee5
USB 音频和 MIDI 驱动程序 snd_uaudio(4) 修复了 iFeature 字符串计算错误。 43a03be0bb50(由 NVIDIA Networking 赞助)
驱动程序 usb(4) 修复了一个使用后释放错误。 bb9bee1ffbb2(由 NVIDIA Networking 赞助)
虚拟终端控制台驱动程序 vt(4) 修复了关于双击选中文本行首/尾的错误。 caeade0e00d5(由 FreeBSD 基金会赞助)
虚拟终端控制台驱动程序 vt(4) 修复了关于像素块颜色超出 4 种颜色限制的错误。 4e4e477d89fd(由 FreeBSD 基金会赞助)
本节涉及文件系统和其他存储子系统(包括本地和网络存储)的变更和新增内容。
fusefs(5) 用户空间文件系统修复了一个竞态条件错误。 c85846ea3ea5
fusefs(5) 用户空间文件系统修复了几个关于 VOP_RECLAIM
的错误。 4d5fb17274aa
fusefs(5) 文件系统修复了一个未定义变量访问错误。 20004b265add(由 Axcient 赞助)
NFS 客户端代码修复了一个强制卸载循环错误。 00e9bc2d937f
NFS 客户端代码修复了多个错误,包括两个使用后释放错误。 04c2ce41e3fc 22d6238a0473
NFS 客户端代码修复了一个竞态条件错误。 ca826694e3b0
本节介绍启动加载器、启动菜单以及其他与启动相关的变更。
(暂无内容)
本节介绍影响 FreeBSD 网络的变更。
系统工具 dummynet(4) 修复了一个越界访问漏洞。55351c2620c5(由 FreeBSD 基金会赞助)
系统工具 dummynet(4) 修复了一个与套接字选项长度验证相关的错误。3f22f161b936(由 FreeBSD 基金会赞助)
包过滤器 ipfilter(4) 新增了 DT5
和 SDT
dtrace(1) 探测点。67b86b71c19c 09aa9a1f82bf
从现在起,为了提升安全性,ipfilter(4) 仅允许 jails 在拥有独立 VNET 的情况下操作 ipfilter 规则、NAT 表和 ippools。ed86cf0121f9
包过滤器 ipfilter(4) 现在支持以 ippool.conf 格式导出 ippool 的副本。95dfabe85a54
框架 netmap(4) 修复了一个整数溢出漏洞(CVE-2022-23085)。95602165e33a
框架 netmap(4) 修复了一个 TOCTOU 漏洞(CVE-2022-23084)。6fa8af618475