Vibeleaderboard
← All Intel
Intel / article

Reproducing, disclosing, and fixing the libheif vulnerability with Hacktron and the maintainers

Source
vercel.com
Author
Karim Rahal
Date

Context

A flaw several libraries below a website's image handler can still expose the application. Vercel reports that a vulnerability discovered by Hacktron allowed remote code execution through Next.js image optimization. An AVIF image passed through sharp and libvips before reaching the vulnerable libheif decoder. Vercel's account.

The response addressed both the entry point and the underlying library. Vercel says it disabled AVIF optimization centrally on August 13, 2026. Self-hosted applications needed a Next.js security release, issued August 25, while libheif version 1.23.2 fixed the underlying vulnerability. Blocking the image-processing path provided protection while the library fix propagated through dependent software. Remediation timeline.

Key takeaways · AI-distilled
  • The actual remote-code-execution bug lived in libheif, an AVIF decoder used far beyond Next.js (also ImageMagick, WordPress, sharp) -- Next.js was just one reachable path via its <Image> component to sharp to libvips to libheif.
  • Vercel mitigated the issue platform-wide in one day (Aug 13) by disabling AVIF optimization in its central Image Optimization Service, before any upstream fix existed.
  • Fixing it took multi-party disclosure across sharp, libvips, and libheif maintainers; libheif shipped the patch (v1.23.2) six days after a cross-team sync, and Next.js moved up an already-planned release by a day to ship its own AVIF-disabling mitigation sooner.
  • For , GitHub's private vulnerability reports grew 6x in 2026 (500/week in January to 3,000/week in May), a scale the piece attributes partly to LLMs accelerating vulnerability research.
Terms in this piece · Glossary
  • context window — The maximum amount of text a model can consider at once — its working memory for the current conversation or task.
Recommended reads
Comments

Checking sign-in…

Loading comments…