Next.js herstelt kritieke AVIF- en Windows-fouten waardoor niet-geverifieerde RCE mogelijk wordt

Vercel heeft beveiligingspatches uitgebracht voor twee kritieke kwetsbaarheden in het Next.js-webframework, die beide niet-geverifieerde code-uitvoering op afstand mogelijk maken. De ene kan worden geëxploiteerd via speciaal vervaardigde AVIF-beeldbestanden en de andere via een path traversal-fout die servers treft die een Windows-bestandssysteem gebruiken.

Het doorlopen van het Windows-pad, gevolgd als CVE-2026-75604 (CVSS-score: 9,0), is van invloed op Next.js-applicaties die zowel de Pages Router als de App Router gebruiken zonder cachecomponenten wanneer de server een Windows-bestandssysteem gebruikt.

Linux- en macOS-implementaties worden niet beïnvloed.

“Er is geen bekende oplossing voor getroffen door Windows gehoste applicaties. U moet onmiddellijk upgraden als uw server op Windows wordt gehost”, aldus Vercel in zijn advies.

De oplossingen zijn beschikbaar in Next.js 15.5.24 (Onderhoud LTS) en 16.3.3 (Active LTS), gepubliceerd op 25 augustus 2026. Betrokken gebruikers kunnen upgraden door npm install [email protected] uit te voeren voor de 15.5-regel of npm install [email protected] voor de 16.3-regel.

Applicaties die op Vercel worden gehost, zijn beschermd tegen beide kwetsbaarheden en vereisen geen upgrade, zei Vercel in een changelog-item dat op 25 augustus werd gepubliceerd.

Het beveiligingslek treft Next.js versies 13.4 tot en met 15.5.23 en versies 16.0 tot en met 16.3.2.

Het aanvalsmechanisme werd niet bekendgemaakt in het advies. In de changelog van Vercel werden de onderzoekers evolutionstorm en B0RI ook gecrediteerd voor de verantwoorde openbaarmaking van de Windows-kwetsbaarheid.

AVIF-fout in beeldoptimalisatie

Next.js gebruikt het Sharp-beeldverwerkingspakket om afbeeldingen te optimaliseren, en Sharp vertrouwt op de libhef C-bibliotheek om AVIF-bestanden te parseren.

Een kritieke heapbufferoverloop in libheif kan leiden tot uitvoering van externe code wanneer Next.js een door een aanvaller bestuurd AVIF-image verwerkt (GHSA-2xp9-vwfh-vxw4, CVSS v4: 9.5).

De onderliggende kwetsbaarheid, door de beheerders van libheif onthuld als GHSA-g89c-p67h-r497, betreft een heapbufferoverloop in de beeldschalingscode van de bibliotheek.

Alle libhef-versies tot en met v1.23.1 worden beïnvloed. Het AVIF-advies heeft betrekking op Next.js-versies 10.0.0 tot en met 15.5.23 en alle 16.x-releases tot en met 16.3.2.

Een vervaardigd AVIF-bestand dat geneste identiteitsafleiding en verwijzingen naar hulpitems bevat, zorgt ervoor dat libheif een gedecodeerd beeld bouwt met twee Alpha-vlakvermeldingen op verschillende bitdieptes.

De scaler wijst een bestemmingsbuffer toe die geschikt is voor de eerste 8-bits alfa-invoer, maar schrijft vervolgens 16-bits voorbeeldwaarden van de tweede invoer naar diezelfde buffer, waarbij ongeveer 16.384 bytes voorbij de toewijzingsgrens worden overschreven.

De onderzoekers die in het advies worden genoemd, rootxharsh als Finder en KarimPwnz als coördinator, hebben een volledige Python proof-of-concept uitgebracht naast de libheif-openbaarmaking die de heap-corruptie reproduceert onder een adressanitizer-build.

Het libheif-advies noemde rootxharsh als Finder en KarimPwnz als coördinator, maar de changelog van Vercel schreef de openbaarmaking toe aan het Hacktron-team.

“We hebben RCE kunnen gebruiken voor meerdere toepassingen”, aldus de onderzoekers in het libhef-advies.

De proof-of-concept demonstreert het schrijven buiten de grenzen, en de claim van de onderzoekers dat code op afstand op meerdere applicaties kan worden uitgevoerd, is niet onafhankelijk bevestigd.

Next.js schakelt AVIF-optimalisatie alleen in wanneer een site expliciet image/avif toevoegt aan de formatenconfiguratie in next.config.js. Implementaties zonder deze configuratie zijn niet blootgesteld aan deze fout.

De gepatchte Next.js-releases schakelen de AVIF-optimalisatie volledig uit totdat de upstream-fix zich voortplant vanuit libheif. The Hacker News bevestigde op 27 augustus 2026 via de libhef GitHub releases-pagina dat v1.23.2 niet was gepubliceerd.

Vercel had de augustus-patches gepland voor 26 augustus als onderdeel van de maandelijkse beveiligingsfrequentie, maar verplaatste de release met een dag nadat hij een extra kritieke kwetsbaarheid in een van de upstream-afhankelijkheden had ontdekt.

“Eerder vandaag hebben we de release naar voren gebracht nadat we een extra kritieke kwetsbaarheid in een van onze upstream-afhankelijkheden hadden geïdentificeerd”, aldus Josh Story, Karim Rahal en Sebastian Silbermann in de beveiligingsblogpost van Vercel.

De release in augustus is de tweede in het kader van het formele maandelijkse beveiligingsprogramma van Vercel, dat het bedrijf in juli 2026 aankondigde.

“Het volume van kwetsbaarheidsonderzoek in de hele sector neemt snel toe, aangedreven door door LLM ondersteunde ontdekkingen”, zeiden Andrew Imm en Josh Story in de programmaaankondiging van 13 juli.

De eerste geplande release, gepubliceerd op 21 juli, loste negen kwetsbaarheden op in Next.js 16.2.11 en 15.5.21, waaronder denial-of-service, server-side request vervalsing en middleware bypass-klassen.

Gebruikers die al de patches van juli gebruiken, hebben nog steeds de upgrade van augustus nodig.

Next.js heeft de afgelopen twee jaar een reeks kritieke beveiligingsonthullingen gezien, waaronder een kritieke bypass-fout in de middleware in maart 2025, waardoor niet-geverifieerde aanvallers autorisatiecontroles konden overslaan in zelf-gehoste implementaties.

De React2Shell-deserialisatiefout in React Server Components, onthuld in december 2025, had een CVSS-score van 10,0 en werd binnen enkele uren na openbaarmaking actief uitgebuit.

Op 27 augustus 2026 was er geen melding gemaakt van misbruik van beide kwetsbaarheden in augustus. The Hacker News nam contact op met Vercel voor commentaar en had op het moment van publicatie nog geen reactie ontvangen.

Thijs Van der Does