FreeBSD:通过 Execve() 进行本地权限升级

2026-05-09 1 阅读 Deeg9rie9usi
-----BEGIN PGP 签名消息----- 哈希:SHA512 =================================================================================== FreeBSD-SA-26:13.exec 安全建议 FreeBSD 项目主题:通过 execve() 进行本地权限升级 类别:核心 模块:execve(2) 公告: 2026-04-29 致谢:Calif.io 的 Ryan 影响:所有受支持的 FreeBSD 版本。更正: 2026-04-29 14:47:46 UTC(稳定/15、15.0-STABLE) 2026-04-29 14:48:27 UTC(releng/15.0、15.0-RELEASE-p7) 2026-04-29 14:48:49 UTC(稳定/14、 14.4-稳定) 2026-04-29 14:49:40 UTC (releng/14.4, 14.4-RELEASE-p3) 2026-04-29 14:49:21 UTC (releng/14.3, 14.3-RELEASE-p12) 2026-04-29 14:50:05 UTC(stable/13、13.5-STABLE)2026-04-29 14:50:17 UTC(releng/13.5、13.5-RELEASE-p13)CVE 名称:CVE-2026-7270 有关 FreeBSD 安全公告的一般信息,包括上述字段、安全分支和以下部分的说明,请访问 。 I. 后台 execve(2) 是一个系统调用,用于启动可执行映像,包括以解释器路径为前缀的脚本。该系统调用将图像的路径作为参数,后面跟着要传递给新图像的额外参数和环境变量。二.问题描述 内核中的运算符优先级错误会导致缓冲区溢出导致攻击者控制的数据覆盖相邻的 execve(2) 参数缓冲区。三.影响 非特权用户可能会利用该错误来获取超级用户权限。四.解决方法 没有可用的解决方法。 V. 解决方案 将存在漏洞的系统升级到更正日期之后受支持的 FreeBSD 稳定版本或发布/安全分支 (releng),然后重新启动系统。执行以下操作之一: 1) 要更新从基本系统软件包安装的易受攻击的系统: 在 amd64 或 arm64 平台上运行 FreeBSD 15.0-RELEASE 版本的系统(使用基本系统软件包安装的系统)可以通过 pkg(8) 实用程序进行更新: # pkg upgrade -r FreeBSD-base # shutdown -r +10min "Rebooting for a security update" 2) 要更新从二进制分发集安装的易受攻击的系统: 运行 RELEASE 的系统amd64 或 arm64 平台上的 FreeBSD 版本,或 FreeBSD 13 上的 i386 平台,这些版本不是使用基本系统软件包安装的,可以通过 freebsd-update(8) 实用程序进行更新: # freebsd-update fetch # freebsd-update install # shutdown -r +10min "Rebooting for a security update" 3) 要通过源代码补丁更新易受攻击的系统: 以下补丁已被验证适用于适用的系统FreeBSD 发布分支。 a) 从以下位置下载相关补丁,并使用 PGP 实用程序验证分离的 PGP 签名。 # 获取 https://security.FreeBSD.org/patches/SA-26:13/exec.patch # 获取 https://security.FreeBSD.org/patches/SA-26:13/exec.patch.asc # gpg --verify exec.patch.asc b) 应用补丁。以 root 身份执行以下命令: # cd /usr/src # patch < /path/to/patch c) 按照中所述重新编译内核并重新启动系统。六.更正详细信息 此问题已从以下稳定和发布分支中相应的 Git 提交哈希值开始得到更正: 分支/路径哈希修订 ------------------------------------------------------------------------- stable/15/ c3e943e78e06 stable/15-n283376 releng/15.0/ 934b48683c4f releng/15.0-n281028 stable/14/ ae00a52921ca 稳定/14-n274075 releng/14.4/ 943aa64ba91a releng/14.4-n273690 releng/14.3/ f04c40607b8f releng/14.3-n271491 稳定/13/ d619e3a3c0ec stable/13-n259858 releng/13.5/ 7c5c37ac8f8f releng/13.5-n259214 - ------------------------------------------------------------------------- 运行以下命令来查看特定提交修改了哪些文件: # git show --stat 或者访问以下 URL,将 NNNNNN 替换为哈希: 要确定工作树中的提交计数(与上表中的 nNNNNNN 进行比较),请运行: # git rev-list --count --first-parent HEAD VII.参考资料 该通报的最新版本可在 -----BEGIN PGP SIGNATURE----- iQJPBAEBCgA5FiEEthUnfoEffdcgYM7bljekB8AGu8FAmnyTiobFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMCwzAAoJEG5Y3pAfABrvVDoP/2CASXfMizRLg2uhf7ab 上获取。 Rq2AlXil/b3uDA316fV30LeAEc1X16VVRwuZbOPd8oovXnpt6ACj26Yg+4IsPyU9 ZEMNcm5tA0eEqicFrrVBNxyA41QMwB1S36+tyzoZ3CTWndTAu/5yVLb0VWoniW9S cvf8xULDWBVI48DUKuJ86Bh5aUPNMy2bCMaQc5V88aK5Cc4CG2ZWJu3pJa4+MWq2 CBXgOA3k3qqTIQ5imrRl+9RFYe5WAEnAYNWRauXmQKeJA41bDseUB/Bghy6KY3y+ uuIelphX3pz36cRQd83CIs6IjH0TQ0slizGsmdQ8jVDEbK+kWzSegOo90E8hepQg p929lZbUhpg98G2Fv7cLQ1W7+39dqrqcJubXb0xUcvBp6b9uEUJigRaYJJjxFBUc wtR6sTMqZeyQE/EDubgKMepaY7BWe8K/kDRFzPuGf3LSxZ