与Hacktron及维护者共同复现、披露并修复libheif漏洞

与Hacktron及维护者共同复现、披露并修复libheif漏洞

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

2026年8月,Hacktron发现Next.js图像优化存在RCE漏洞,根源在上游AVIF解码器libheif,可经sharp、libvips影响大量网站。Vercel先禁用AVIF优化缓解,并与维护者协作修复。8月25日Next.js发布安全版本禁用AVIF优化,libheif随后发布v1.23.2修复漏洞。

🔎

延伸解读

漏洞根源与影响范围

漏洞实际位于上游AVIF解码器libheif,而非Next.js本身。但通过Next.js图像优化链路(<Image>组件→/_next/image→sharp→libvips→libheif),恶意AVIF图片可触发RCE。由于libheif被ImageMagick、WordPress、sharp等广泛使用,影响范围远超Next.js,大量网站可能受波及。

修复时间线与协调披露

从8月11日Hacktron报告到8月25日libheif发布v1.23.2修复,整个过程仅两周。Vercel在8月13日即部署平台缓解,Next.js团队与libvips维护者会面协调,最终Next.js安全版本禁用AVIF优化,libheif随后修复。这体现了跨项目协调披露的效率。

缓解措施与用户应对

Vercel平台通过中央图像优化服务禁用AVIF优化和缩放,使恶意图片无法到达libheif。自托管应用需升级Next.js安全版本,该版本同样禁用AVIF优化。在libheif修复传播期间,禁用AVIF优化是最及时的缓解手段,用户应尽快应用更新。

开源安全趋势与启示

文章指出2026年CVE数量已超3.5万,GitHub私有漏洞报告从每周500增至3000,LLM加速了漏洞研究。预计更多上游漏洞将浮现,Next.js安全发布频率可能增加。这提醒开发者需关注依赖链安全,及时更新组件,并参与漏洞赏金计划。

Q&A

Next.js 图像优化中的 RCE 漏洞根源在哪里?

漏洞根源不在 Next.js 本身,而是在上游的 libheif 库中。libheif 是一个 AVIF 图像解码器,被 Next.js、ImageMagick、WordPress、sharp 等广泛使用。

这个漏洞是如何通过 Next.js 图像优化被触发的?

Next.js 图像优化通过 <Image> 组件调用 /_next/image 端点,该端点使用 sharp,sharp 调用 libvips,libvips 使用 libheif 解码 AVIF 图像。因此,向图像优化端点发送恶意 AVIF 图像会通过 sharp 和 libvips 调用 libheif,从而触发漏洞。

Vercel 和 Next.js 采取了哪些缓解措施?

Vercel 在其中央图像优化服务中禁用了 AVIF 优化和调整大小,阻止恶意 AVIF 图像到达 libheif。Next.js 在 8 月 25 日发布安全版本,禁用了 AVIF 优化和调整大小,比原计划提前一天发布。

漏洞的披露和修复时间线是怎样的?

8 月 11-12 日:Hacktron 向 Vercel 报告,并与 Vercel 复现 RCE。8 月 13 日:Vercel 应用平台缓解。8 月 19 日:Next.js 团队与 libvips 维护者会面,协调 sharp、libvips、libheif 的修复。8 月 24 日:Next.js 通知安全合作伙伴。8 月 25 日:Next.js 发布安全版本禁用 AVIF 优化;libheif 维护者发布 v1.23.2 修复 RCE。

libheif 漏洞最终是如何修复的?

libheif 维护者通过 Hacktron 提交的 GitHub Security Advisory 进行修复,并于 8 月 25 日发布 v1.23.2 版本,修复了 RCE 漏洞。

为什么开源软件漏洞数量在增加?

文章指出,2026 年 CVE 项目已发布超过 35,000 个 CVE;GitHub 上的私有漏洞报告从 1 月的每周 500 份增长到 5 月的每周 3,000 份;2026 年 5 月 GitHub 审核了 1,560 份安全公告,创历史新高。LLM 加速了漏洞研究,预计更多上游漏洞会浮现。

🏷️

标签

➡️

继续阅读