A libheif hibája miatt távoli kódfuttatás volt lehetséges a Next.js-ben

A Next.js képfeldolgozásán keresztül elérhető volt egy távoli kódfuttatást lehetővé tevő hiba a libheif AVIF-dekóderben. A Vercel és a Hacktron együtt reprodukálta a problémát, a Vercel letiltotta az érintett funkciókat, a libheif karbantartója pedig kiadta a javított v1.23.2-es verziót.
- A távoli kódfuttatási hiba a libheif AVIF-dekóderben volt.
- A Next.js képfeldolgozási láncán keresztül elérhetővé vált a sérülékeny kód.
- A Vercel letiltotta az AVIF-optimalizálást és -átméretezést.
- A Next.js augusztus 25-i biztonsági kiadása tartalmazta a védelmet.
- A libheif javított verziója az 1.23.2 lett.
Nem a Next.js-ben volt a sérülékeny kód
A Hacktron 2026 augusztusában jelentette a Vercelnek, hogy a Next.js képtömörítési és -átméretezési rendszerében távoli kódfuttatásra alkalmas sérülékenység lehet. A vizsgálat később megmutatta, hogy a hibás kód nem magában a Next.js-ben, hanem a libheif nevű, AVIF-képeket dekódoló függőségben található.
A libheif-et a Next.js mellett többek között az ImageMagick, a WordPress és a sharp is használja. A Next.js Image komponense az /_next/image végponton keresztül dolgozza fel a képeket. AVIF-fájlok esetén a folyamat a sharp és a libvips közbeiktatásával eljut a libheifhez. Emiatt egy rosszindulatú AVIF-kép a Next.js képfeldolgozási végpontján keresztül elérhette a sérülékeny kódot.
Központi védelemmel és biztonsági kiadással reagáltak
A Hacktron és a Vercel augusztus 11. és 12. között működő bizonyítással reprodukálta a távoli kódfuttatást. A Vercel augusztus 13-án platformszintű védelmet vezetett be az Image Optimization Service-ben. Mivel a Vercelen minden Next.js-es képfeldolgozási kérés ezen a központi szolgáltatáson halad át, letiltották az AVIF-képek optimalizálását és átméretezését. Így a beérkező AVIF-fájlokat nem adták át dekódolásra a libheifnek.
A saját szervert üzemeltető alkalmazások védelméhez Next.js-kiadásra volt szükség. A Next.js csapata augusztus 25-én biztonsági frissítést adott ki, amely letiltotta az AVIF-optimalizálást és -átméretezést. A kiadást az eredeti tervhez képest egy nappal korábban tették közzé, miután egyeztettek a felsőbb szintű függőségek javításáról.
A javítás a teljes függőségi láncot érintette
A Vercel a Hacktronnal közösen értesítette a sharp, a libvips és a libheif karbantartóit. Augusztus 19-én a Next.js csapata találkozott a libvips karbantartójával, és egyeztette a javítás útját a három projekt között. Augusztus 24-én a Next.js tájékoztatta biztonsági partnereit a libheif hibájáról és annak Next.js-re gyakorolt hatásáról.
A libheif karbantartója augusztus 25-én kiadta az 1.23.2-es verziót, amely orvosolta a távoli kódfuttatási hibát. A Vercel szerint a Next.js-ben alkalmazott ideiglenes védelemre azért volt szükség, mert a javított libheif-kiadás ekkor még terjedt a függőségi láncban.
A Vercel szerint több hasonló hibára kell számítani
A Vercel 2026. szeptember 18-án közzétett beszámolója szerint 2026-ban a CVE-program több mint 35 000 sérülékenységet tett közzé. A GitHubon a privát sérülékenységi jelentések száma a januári heti 500-ról májusra heti 3000-re nőtt, miközben a GitHub májusban 1560 ellenőrzött tanácsadást jelentett, ami a tanácsadási adatbázis történetének legmagasabb havi értéke volt.
A Vercel úgy látja, hogy a nagy nyelvi modellek felgyorsítják a sérülékenységek kutatását, ezért több, a libheif hibájához hasonló, upstream projektben található probléma jelenhet meg a nyílt forráskódú ökoszisztémában. A vállalat közlése szerint a következő hónapokban is folytatódhat a Next.js biztonsági kiadásainak sűrűbb üteme. A javításban a Hacktron, valamint a sharp, a libvips és a libheif karbantartói is részt vettek.


