Vercel heeft op 14 oktober een Next.js out-of-band patch uitgebracht. De update verhelpt twee kritieke Remote Code Execution (RCE)-kwetsbaarheden en daarnaast een hoogwaardige denial-of-service (DoS)-kwetsbaarheid. Cruciaal: de RCE-lekken kunnen in bepaalde configuraties zelfs zonder authenticatie misbruikt worden.
In dit artikel lees je wat er precies is gerepareerd, welke Next.js-versies je moet upgraden en welke aanvullende check je kunt doen voor de afhankelijkheden die bij afbeelding- en SVG-verwerking betrokken zijn.
Wat is er opgelost met de Next.js out-of-band patch?
De update adresseert drie afzonderlijke beveiligingsissues. Vercel beschouwt beide code-uitvoeringsproblemen als kritiek met een CVSS-score van 9.5. Het derde probleem is een DoS dat servers zwaar kan belasten.
De fixes zitten in de actieve en onderhouds-LTS-releases: Next.js 16.4.1 (voor Next.js 16) en Next.js 15.5.28 (voor Next.js 15).
RCE-lek 1: React Server Components (use cache)
Het eerste code-executionprobleem ligt in React Server Components. Het raakt een set React-pakketten die Next.js gebruikt voor server-rendering. React beschrijft het als een zeer zeldzaam scenario: aanvallers moeten een specifieke situatie kunnen veroorzaken waarin responsdata meerdere typed arrays transporteert, plus een aanvaller-gedreven waarde.
In Next.js wordt de trigger praktisch gezien gekoppeld aan een use cache-functie die meer dan één typed array teruggeeft. Daarbij geldt bovendien een restrictie: alleen bepaalde Next.js 16-apps die de functionaliteit achter use cache gebruiken (als onderdeel van “Cache Components”) worden blootgesteld.
Toch is de boodschap helder: Vercel adviseert upgraden, ook als je geen use-cache-gerelateerde functie gebruikt. Dat komt doordat de mogelijke blootstelling sterk afhankelijk is van de exacte app- en runtimepadconfiguratie.
RCE-lek 2: SVG verwerking via librsvg en sharp
Het tweede RCE-lek bevindt zich in een geheugenprobleem in librsvg, een open-source library die SVG’s rendert. Next.js gebruikt deze component via de ingebouwde sharp-verpakking.
Vercel geeft aan dat exploitatie mogelijk is wanneer Next.js draait op glibc-gebaseerde Linux systemen.
Niet elke installatie verwerkt automatisch SVG’s. De afbeelding-optimalisatie (image optimizer) moet daarvoor aan staan met een setting die in de advisories wordt aangeduid als dangerouslyAllowSVG. Ook is er een relevant detail voor sociale preview’s: de feature next/og gebruikt eveneens dezelfde image-verwerkingsroute wanneer deze op de Node.js-runtime draait.
DoS-lek: Server Actions laten één proces vastlopen
Naast RCE is er een denial-of-service-kwetsbaarheid. Die speelt vooral in App Router-apps die ten minste één Server Action definiëren.
Met zorgvuldig geconstrueerde verzoeken kan een aanvaller één serverproces op volle CPU-stand zetten. Daardoor kan die instantie tijdelijk minder of geen andere verzoeken verwerken.
Apps die de Pages Router gebruiken, of apps zonder Server Actions, zouden volgens de informatie niet getroffen worden.
Wie loopt er extra risico: platformverschillen
De mate van blootstelling kan verschillen per hoster of platform. Een voorbeeld dat Vercel noemt via een reactie van een platformpartner: Netlify gaf aan dat haar setup de image-optimizer-codepad niet draait, waardoor de impact van het SVG/optimizer-gerelateerde RCE-lek daar beperkt zou zijn.
Zelfs als je denkt dat je omgeving “beperkt geraakt” is: de aanbeveling blijft upgraden, omdat zowel RCE als DoS per configuratie kunnen variëren.
Wat moet je nu doen? Upgrade en herbouw
De praktische opvolging is eenvoudig, maar wel urgent:
- Gebruik je Next.js 16? Upgrade naar 16.4.1.
- Gebruik je Next.js 15? Upgrade naar 15.5.28.
- Na de upgrade: rebuild en redeploy zodat je daadwerkelijk de nieuwe runtime-artifacts draait.
Controleer sharp-versies: dit bepaalt mede of de fix echt binnen is
Vercel stelt dat upgraden van Next.js ervoor zorgt dat pakketbeheerders de reparatieversie van sharp automatisch meenemen. Op Next.js 16 zou dit “direct goed” moeten zijn, omdat Next.js 16.4.1 uitgaat van sharp 0.35.5.
Voor Next.js 15 ligt dat net iets anders. 15.5.28 accepteert wel een oudere sharp-reeks wanneer je upgrade over een bestaande installatie heen gebeurt. Daardoor kan een getroffen sharp-versie blijven staan.
Daarom: voer een check uit met npm ls sharp en zorg dat sharp 0.35.5 of nieuwer actief is. Als er een oudere 0.34.x-versie draait, werk die dan bij naar de benodigde versie.
Als je niet meteen kunt upgraden: interimmaatregel voor SVG
Er zijn volgens de advisories geen werkarounds voor de React Server Components- en de Server Actions-kwetsbaarheid. Alleen de upgraden sluit die issues af.
Voor het beeld/SVG-gerelateerde RCE-lek is er wél een tijdelijke route. Die komt neer op het borgen van een veilige sharp-versie of het blokkeren van SVG-rendering. Concreet noemt sharp als interimoptie:
- Zorg dat sharp 0.35.5 of later gebruikt wordt, of
- Blokkeer SVG rendering in sharp met sharp.block({ operation: [“VipsForeignLoadSvg”] }).
Neem dit vooral als “noodrem”: zodra je kunt, is de Next.js versie-update de definitieve fix.
Waarom kwam dit probleem vaker terug?
Deze beeld-/SVG-gerelateerde kwetsbaarheden lijken zich herhaaldelijk voor te doen. In de periode sinds augustus zijn er volgens de context meerdere issues gemeld die telkens via image processing in Next.js (en afhankelijkheden) tot securityproblemen konden leiden.
Vercel stelt nu dat Next.js zelf de imagecode deze keer niet heeft aangepast, maar dat de fix vooral komt door het upgraden van sharp naar een versie met een gepatchte librsvg-component. Daardoor wordt ook het onderliggende librsvg-bugje afgedekt.
Het is bovendien belangrijk om te weten dat of een geheugenfout “alleen crasht” of echt kan leiden tot code-execution mede kan afhangen van de Node.js build. De officiële binaries zouden volgens de toelichting niet dezelfde hardening bevatten voor dit type geheugenaanval.
Moet je je zorgen maken als je nog nooit meldingen zag?
Op 15 oktober waren er volgens de berichtgeving geen publieke meldingen die aangeven dat de drie issues al in aanvallen zijn uitgebuit. Toch is “nog geen zichtbare exploit in het wild” geen reden om te wachten.
Bovendien kunnen scanners de issues missen: de React Server Components- en Server Actions-advisories waren op dat moment (nog) niet in de CVE- of npm-audit-feed zichtbaar, terwijl het SVG/optimizer-gerelateerde probleem wél via de sharp-advisory terug te vinden was.
Dat betekent dat je eigen dependency-check en vooral de framework-upgrade alsnog je primaire verdedigingslinie is.
Extra context: relatie met eerdere React2Shell-issues
In het bericht wordt ook een vergelijking gemaakt met React2Shell, een eerder disclosed en in 2025 uitgebuite kwetsbaarheid. Deze nieuwe RCE-issue zit in dezelfde drie React-pakketten, maar de details wijzen op een veel smallere, “extreem zeldzame” trigger.
Zelfs als de kans statistisch lager ligt, blijft de impact maximaal: een RCE-kwetsbaarheid wil je niet in productie laten staan.
Snelle checklist voor security en operations
Gebruik deze korte volgorde om dit praktisch af te handelen:
- Inventariseer welke Next.js versie je draait (15 of 16).
- Plan een upgrade naar 16.4.1 of 15.5.28 en voer rebuild/redeploy uit.
- Check sharp met npm ls sharp en verifieer dat 0.35.5+ actief is (zeker bij Next.js 15 over bestaande installs).
- Als je tijdelijk nog niet kunt upgraden: gebruik de interimmaatregel voor SVG (sharp blokkeren of sharp upgraden).
Wil je breder kijken naar hoe je RCE- en webapp-kwetsbaarheden in dependency- en serverpaden voorkomt? Lees dan ook NGINX fixes: 5 kwetsbaarheden en RCE-risico voor een vergelijkbare aanpak rond patching en misbruikscenario’s.
Conclusie
De Next.js out-of-band patch van 14 oktober is geen “kleine update”. Het gaat om twee kritieke RCE-lekken en een hoogwaardige DoS-kwetsbaarheid. Upgrade daarom zo snel mogelijk naar Next.js 16.4.1 of 15.5.28 en controleer bij voorkeur ook sharp, omdat de afbeelding/SVG-fix daar direct in doorwerkt.
Wacht niet op scanrapporten: juist bij dit soort updates kan het verschil zitten in configuratie en afhankelijkheidsversies. Pak de upgrade nu aan, dan ben je het best voorbereid.
Bron: https://thehackernews.com/2026/10/nextjs-ships-out-of-band-patch-for-two.html