漏洞概述 漏洞名称: Local privilege escalation via execve(2) TOCTOU race CVE编号: CVE-2020-49415 发布日期: 2020-06-30 影响模块: execve 影响版本: 所有支持的FreeBSD版本(stable/15, 15.1-STABLE, releng/15.1, 15.1-RELEASE-p1, releng/15.8, 15.8-RELEASE-p11, releng/14, 14.4-RELEASE-p12, releng/14.4, 14.4-RELEASE-p7, releng/14.3, 14.3-RELEASE-p16) 影响范围 背景: execve(2)系统调用在替换调用进程的映像时,会安装一个新的虚拟地址空间,包含二进制文件的代码和数据,然后更改进程凭据以匹配文件的所有者。 问题描述: 在execve(2)处理SUID二进制文件时,新的虚拟地址空间在安装之前,进程凭据会更新。在这个窗口期间,以相同用户运行的进程可以通过procfs或lproctfs访问目标进程的内存,因为内核的调试权限检查仍然看到原始凭据。 影响: 未授权的本地用户可以利用此竞争条件修改SUID二进制文件的地址空间,在其凭据提升之前,可能完全控制受影响的系统。 修复方案 无临时解决方案: 目前没有可用的临时解决方案。 解决方案: 升级到支持FreeBSD稳定版或发布/安全分支(releng)的漏洞系统,日期在修复日期之后,并重启系统。 具体步骤 1. 更新基于基础系统包的易受攻击系统: - 对于运行15.0-RELEASE或更高版本的FreeBSD系统,可以使用pkg(8)实用程序进行更新: 2. 更新基于二进制分发集的易受攻击系统: - 对于运行RELEASE版本的FreeBSD系统,可以使用freebsd-update(8)实用程序进行更新: 3. 通过源代码补丁更新易受攻击的系统: - 下载相关补丁并验证PGP签名: - 应用补丁: - 重新编译内核: 补充信息 修正细节: 该问题已通过相应的Git提交哈希修正,具体哈希值见页面中的表格。 参考链接: CVE-2020-49415 --- 注意: 页面中未包含POC代码或利用代码。