跳至正文
ittechwire

来源清晰的科技新闻

  1. 首页
  2. 安全

安全

OpenBSD 7.9 勘误修复被 Calif 串联成本地 root 漏洞利用的内核缺陷

安全公司 Calif 称,一个可追溯至约 37 年前原始 BSD 代码的共享内存缺陷,是一条本地 root 攻击链的其中一环。Calif 表示,OpenBSD 已通过勘误 018 和 026 发布了修复。

ittechwire 编辑部阅读约 3 分钟来源: 2AI 译文 · 原文语言:English
一台显示器显示 OpenBSD 5.3(该操作系统的一个较早版本)文本控制台上的 root 登录界面,旁边是另一块屏幕。
NAVY Stealth Reverser · CC0

要点

  1. 1Calif 发布了一项关于 OpenBSD 本地 root 漏洞利用的研究,该利用组合了两个内核漏洞;相关修复见于 OpenBSD 7.9 勘误。
  2. 2据 Calif 称,其中一个缺陷涉及一个有符号 16-bit 共享内存挂接计数器,可追溯至约 37 年前的原始 BSD 源代码。
  3. 3OpenBSD 勘误 018 日期为 2026年9月14日,被标注为可靠性修复,针对 shmat 中的整数溢出。
  4. 4勘误 026 日期为 2026年9月30日,被标注为安全修复,针对一个可能导致 use-after-free 的内核引用计数漏洞。
  5. 5该漏洞利用需要本地访问权限;Calif 还提出了更广泛的内核加固措施,例如安全的链表解链、分配器随机化以及基于编译器的缓解措施。

报道全文

安全公司 Calif 发布研究报告,介绍了其如何通过组合两个内核缺陷在 OpenBSD 上获得 root 权限,该项目此后已修补这两个缺陷。在由 Andrew Griffiths 撰写、日期为 10月16日的文章中,该公司表示,其中一个漏洞大约可追溯至 37 年前的原始 BSD 源代码。Calif 称,其已于今年早些时候向 OpenBSD 报告了这些漏洞,且通常附带了建议的补丁。

据 Calif 称,这个较老的缺陷涉及一个用于跟踪共享内存挂接次数的计数器,该计数器被定义为有符号 16-bit 值,可能发生溢出。该公司表示,这一溢出可通过竞争条件导致 use-after-free(释放后使用),再结合内核中另一个独立的越界写入缺陷,使本地用户得以提权至 root。Calif 称,该攻击在启用 OpenBSD 的 KARL 内核重链接以及 SMAP 和 SMEP 处理器防护的情况下依然有效,且无需借助信息泄露漏洞。文章还附有代码和概念验证的链接。

Calif 表示,这些问题已在 OpenBSD 勘误 018 和 026 中得到修复。在 OpenBSD 7.9 勘误页面上,018 的日期为 2026年9月14日,被列为可靠性修复,用于防止 shmat 中的整数溢出。勘误 026 的日期为 2026年9月30日,被列为安全修复,针对一个可能导致内核中出现 use-after-free 状况的引用计数漏洞。两项条目均适用于所有架构。Calif 将这两项勘误均列为其攻击链中问题的修复,因此两项修复中有一项带有的是可靠性标签,而非安全标签。

勘误页面指出,补丁以签名的统一格式 diff 形式分发,syspatch 工具可在 amd64、i386 和 arm64 上安装二进制更新。受支持版本的修复也会并入 -stable 分支,该项目会在每个版本发布后维护该分支一年。Calif 将该漏洞利用描述为本地权限提升,这意味着攻击者首先需要获得系统访问权限。

除勘误之外,Calif 还概述了若干加固思路,旨在使类似的攻击路径更难实现。其中包括在从双向链表中移除条目之前进行完整性检查(该公司指出,FreeBSD 和 NetBSD 已经实现了这一点),以及对内核内存进行更多随机化,因为 Calif 称,尽管 KARL 会随机化内核二进制布局,OpenBSD 的内核分配器仍然是确定性的。该公司还提到了数组边界检查器(array bounds sanitizer)以及即将推出的 Alloc Tokens 等编译器功能。Calif 称,其曾向 FreeBSD 建议采用该检查器,并私下向其报告了 21 个本可被该检查器发现的问题;该公司认为,随着 AI 辅助漏洞发现,缓解整类漏洞变得愈发重要。

为何重要

只安装带安全标签勘误的管理员可能跳过了 018,OpenBSD 将其列为可靠性修复,但 Calif 指出它是其 root 攻击链中漏洞的两项修复之一。鉴于漏洞利用代码已被公开引用,建议确认 018 和 026 均已安装,尤其是在不受信任的用户可本地登录的系统上。

时间线

  1. · 发布于

话题#OpenBSD#内核#权限提升#补丁管理#Calif

来源

本报道基于以下来源。如需完整背景,请阅读原文。

  1. 1Calif · 研究Big Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSDcalif.io
  2. 2OpenBSD · 官方声明OpenBSD 7.9 Erratawww.openbsd.org