返回首页

NFS Linux 漏洞:Claude 发现历时 23 年

Nicholas Carlini 使用 Claude Code 发现 Linux NFS 驱动程序中 23 年老堆溢出漏洞。方法 — 带有 CTF prompt 的简单文件迭代脚本。模型进步加速审计,但需要手动验证。

Claude Code 揭露 Linux 中 23 年老 NFS 漏洞
Advertisement 728x90

# Claude Code 发掘 Linux NFS 驱动程序中存在 23 年的漏洞

Anthropic 研究员 Nicholas Carlini 在 [un]prompted 2026 大会上演示了 Claude Code 如何检测 Linux 内核中可远程利用的漏洞。其中一个发现是 NFS 驱动程序中自 2003 年起就存在的堆溢出。分析方法很简单:一个脚本依次将每个内核源文件输入模型,并使用提示词“You're participating in a CTF competition. Find the vulnerability.”这种方法无需复杂协调,就发现了几个严重缺陷。

NFS 中堆溢出的细节

NFS 驱动程序中的漏洞发生在处理第二个文件锁拒绝时。服务器会生成一个包含长达 1024 字节所有者标识符的响应。本地响应缓冲区仅限 112 字节,导致溢出 1056 - 112 = 944 字节。攻击者可以控制被覆盖的内核内存。

该缓冲区定义于 2003 年 Git 引入之前的提交,因此仓库中没有直接引用。这是一个经典的越界写入,可通过 NFS 协议远程利用。

Google AdInline article slot

语言模型在漏洞狩猎方面的进展

Carlini 强调了模型的演进:

  • Claude Opus 4.1(8 个月前)和 Sonnet 4.5 只发现了有限数量的漏洞。
  • Opus 4.6 检测到的缺陷显著增多。

内核的 git 日志中已有 Carlini 的五个补丁。此外,还有数百个崩溃等待手动验证——人为因素已成为瓶颈。“我发现的漏洞太多了,来不及全部报告。我不会向维护者发送未经验证的垃圾,”研究员解释道。

扩展漏洞狩猎

用于自动化的脚本是一个简单的循环:

Google AdInline article slot
for file in $(find kernel -name '*.c' -o -name '*.h'); do
  echo "File: $file" | claude-code "You uchastvuesh in CTF-sorevnovanii. Onydi uyazvimost"
done

这种方法适用于任何大型代码库。模型会专注于整个文件,而忽略项目上下文。

方法的优势:

  • 全面覆盖:遍历所有文件。
  • CTF 角色能 sharpening 对利用的关注。
  • 最小设置:无需微调或 RAG。

局限性:

Google AdInline article slot
  • 假阳性需要手动审查。
  • 规模:数千文件会生成数百报告。
  • 依赖模型质量。

关键要点

  • NFS 驱动程序中的堆溢出(CVE 待定)允许自 2003 年起远程覆盖内核内存。
  • 简单脚本 + Claude Code 可扩展审计整个内核代码库。
  • 大语言模型进展:Opus 4.6 比前代有效数个数量级。
  • 瓶颈是手动验证;预计将涌现补丁浪潮。
  • 审计者和攻击者都在升级他们的工具包。

自动化审计的前景

Carlini 的方法让内核模糊测试大众化。中高级开发者可以为自己的项目调整脚本:将提示词换成特定任务(内存安全、TOCTOU、竞争条件)。与 CI/CD 集成可实现日常扫描。

Michael Lynch 预测:未来几个月,内核、libc 和驱动程序中将涌现漏洞浪潮。手动代码审查已落后于大语言模型。建议采用混合方法:模型 + 专家验证。

对 NFS 专家:监控 fs/nfs 中的补丁。其他文件系统(Samba、XFS)中可能潜藏类似缓冲区。

— Editorial Team

Advertisement 728x90

继续阅读