漏洞概述 漏洞名称: Arbitrary file overwrite via the kTLS receive path 模块: core 公告日期: 2020-06-09 影响版本: 所有支持的FreeBSD版本 CVE编号: CVE-2020-45257 影响范围 背景: Kernel TLS (kTLS) 模块支持传输层安全(TLS)记录处理,允许应用程序加密和解密套接字数据,而无需将其复制到用户空间。 问题描述: kTLS接收路径假设接收到的数据缓冲区是匿名且安全的,可以修改。然而,当发送方通过禁用kTLS的循环发送文件后备缓冲区时,这些缓冲区会到达接收方的解密路径,导致解密后的数据覆盖文件后备缓冲区,而不是私有副本。 影响: 未特权的本地用户可以覆盖他们选择的文件内容,通过发送带有启用kTLS接收的循环数据。这允许绕过文件标志,直接写入磁盘,从而可能提升权限,获得对受影响系统的完全控制。 修复方案 1. 临时解决方案: - 禁用kTLS: 2. 长期解决方案: - 升级到受支持的FreeBSD稳定版或安全分支(releng),并在更正日期后重启系统。 - 具体步骤: - 对于基于基础系统包安装的FreeBSD 15.0-RELEASE版本: - 对于基于二进制分发集安装的FreeBSD版本: - 对于通过源代码补丁更新的系统: - 下载并验证补丁: - 应用补丁: - 重新编译内核并重启系统。 补充信息 参考链接: - CVE记录 - 最新修订版 POC代码/利用代码 页面中未包含具体的POC代码或利用代码。