Back to Blog

CVE-2026-28952:Claude发现的macOS内核漏洞

May 26, 2026by Ichiban Team
securitymacoscveaiclaudekernel

Hero

#前言

人工智能与网络安全的交汇点刚刚跨越了一个重要的里程碑。2026年5月26日,苹果发布了一份紧急安全公告,修复了macOS 26.5内核中的一个高危漏洞。然而,CVE-2026-28952之所以具有开创性,不在于漏洞利用本身,而在于它的发现方式。

在主流操作系统的历史上,这是首次由大语言模型(LLM)——Anthropic的Claude——原生发现严重级别的内核零日(zero-day)漏洞。在Ichiban Tools,我们致力于为走在技术前沿的开发者打造实用工具。此次事件释放了一个强烈的信号:未来安全系统的审计、攻防和保护方式将发生根本性的转变。

#事件回顾

根据Hacker News上的相关报道以及苹果官方支持文档HT127115的详细说明,一个独立安全研究团队利用定制化的Agent模式部署了Claude,对XNU内核(macOS和iOS的核心)的开源组件进行了审计。

传统的模糊测试(Fuzzing)通过向系统注入大量畸形数据来触发崩溃,而研究人员采取了不同的策略:他们为Claude提供了海量的上下文信息,包括Mach进程间通信(IPC)的源码、代码提交历史以及内存管理子系统。

Claude从中敏锐地识别出了一个复杂的多步竞争条件(Race Condition),而这个漏洞在此前完全逃过了人类审计员和自动化静态分析工具的法眼。

这个现已被追踪为CVE-2026-28952的漏洞,存在于高并发内存映射操作期间Mach端口权限的处理逻辑中。在验证确认后,研究人员将该漏洞负责任地披露给了苹果,促使后者迅速发布了macOS 26.5.1紧急补丁。

#意义何在

回顾历史,挖掘内核漏洞需要深厚的领域专业知识、定制的模糊测试框架,以及数百小时的手动逆向工程。像XNU这样成熟的内核,其中“容易摘到的果子”早被采摘殆尽。如今想要找出一个零日漏洞,通常需要将多个极其隐蔽的逻辑错误串联起来。

Claude的这一发现证明,AI模型早已不再局限于编写样板代码或总结文档,它们已经具备了深度理解代码结构的能力。这具有极其重要的意义:

  1. 上下文模式识别: 传统静态分析工具只能寻找已知的反模式。而Claude理解了代码的意图,并能准确识别出实现细节在何处偏离了预期的状态机,哪怕是跨多个异步线程。
  2. 大幅缩短发现周期: 人类研究员可能需要耗费数周时间来追踪指针和锁状态,而AI能在极短的时间内完成概念梳理。
  3. 日益逼近的军备竞赛: 既然研究人员能用AI寻找漏洞,黑客同样也能。漏洞存在与被发现之间的时间窗口正在急剧缩短。

#技术剖析

从根本上讲,CVE-2026-28952是一个由Mach IPC子系统中“检查时间与使用时间(TOCTOU)”逻辑缺陷引发的释放后重用(Use-After-Free, UAF)漏洞。

当进程尝试通过mach_msg传输复杂的内存结构时,内核必须短暂解锁任务映射(task map),以防止在分配物理页时发生死锁。Claude敏锐地注意到,在这个极其短暂的解锁窗口期,另一个线程可以合法地触发端口销毁序列。

以下是该缺陷的概念性表示:

// Conceptual representation of the Mach port UAF vulnerability
// based on the logic flaw flagged by Claude

kern_return_t vulnerable_mach_msg_trap(mach_port_name_t port_name, mach_msg_header_t *msg) {
    ipc_port_t port;
    
    // 1. Thread A looks up the port and acquires a reference.
    if (ipc_port_lookup(port_name, &port) != KERN_SUCCESS) {
        return KERN_INVALID_NAME;
    }
    
    // 2. Kernel unlocks the space to perform complex memory allocation.
    vm_map_unlock(current_map());
    
    // ---> RACE WINDOW <---
    // Thread B maliciously calls mach_port_destroy() on the same port,
    // dropping the reference count to 0 and freeing the backing memory.
    
    vm_map_lock(current_map());
    
    // 3. Thread A resumes. The pointer 'port' is now dangling.
    // Operating on this freed port leads to memory corruption.
    process_message_internal(port, msg); 
    
    ipc_port_release(port);
    return KERN_SUCCESS;
}

由于攻击者可以控制mach_msg的大小和布局,他们能够稳定地操纵内核堆,在执行第3步之前用自己的数据覆盖已释放的对象。这使得指令指针劫持成为可能,并最终导致在内核权限(ring-0)下执行任意代码。

#模糊测试 vs. AI发现

特性传统模糊测试(如syzkaller)AI辅助审计(Claude)
方法随机 / 输入变异语义级别代码理解
崩溃触发速度每秒数百万次执行基于Token的静态分析
盲区状态机逻辑错误、深层竞争条件幻觉、上下文窗口限制
结果需要进行根本原因分析的崩溃转储直接提供根本原因假设

#未来展望

对于终端用户和开发者而言,当务之急非常明确:立即将您的macOS设备更新至26.5.1版本。

对整个软件工程行业来说,这是一个分水岭。可以预见,“AI原生”安全平台将会如雨后春笋般涌现。持续集成(CI)流水线很快就会引入基于LLM的安全关卡——它们不仅会运行npm auditcargo audit,更会试图在代码合并前,从逻辑上主动攻破Pull Request中的代码。

此外,苹果等各大操作系统厂商很可能将开始在内部应用类似的Agentic AI流程。工作目标将从“修复社区发现的bug”转变为“让内部AI Agent在每日构建(nightly build)之前就将逻辑缺陷扼杀在摇篮中”。

#结语

CVE-2026-28952被历史铭记的原因,将不是它造成的破坏,而是它所代表的里程碑意义。Claude成功发现macOS内核漏洞,不仅跨越了理论上的AI能力,更将其落到了极其关键的实战网络安全层面。在Ichiban Tools,我们正密切关注这些AI技术的演进,致力于将更智能、更安全的工作流集成到大家日常使用的工具中。及时打补丁,保持安全,继续构建你的代码。