O vulnerabilitate recent făcută publică în Next.js, identificată drept CVE-2026-94545, permite atacatorilor să obțină execuție de cod la distanță (RCE) pe serverele care generează imagini dinamic — fără a fi nevoie de autentificare sau de vreo acțiune din partea unei victime.
Ce s-a întâmplat
Problema se află în implementarea pe Node.js a funcției ImageResponse din Next.js, folosită de obicei pentru a genera imagini de previzualizare Open Graph prin rutele next/og. Atunci când o aplicație preia o valoare dintr-un parametru de URL, un câmp de formular sau o cerere API și o inserează direct într-un SVG — de exemplu într-un element <title> — un atacator poate construi un input care ajunge în procesul de randare SVG și execută cod arbitrar pe server.
Vulnerabilitatea a primit un rating de severitate Critic conform CVSS v4. Poate fi declanșată de la distanță, prin rețea, nu necesită autentificare și nu necesită nicio interacțiune din partea unei victime — o combinație care o face deosebit de atractivă pentru scanare și exploatare automatizată.
Nu toate implementările sunt expuse. Aplicațiile care rulează implementarea Edge a ImageResponse nu sunt afectate. Pe Node.js, sunt vulnerabile doar aplicațiile care transmit valori controlate de atacator în conținutul SVG, în atribute sau în stilurile CSS — dacă input-ul utilizatorului nu ajunge niciodată în marcajul SVG, funcția poate fi folosită în siguranță.
De ce contează
Deoarece codul vulnerabil gestionează generarea de imagini, el rulează adesea cu acces la tot ce mediul de găzduire expune acelui proces — ceea ce poate include secrete, credențiale cloud, servicii interne sau infrastructura de deployment. O exploatare reușită ar putea permite unui atacator să citească date sensibile de pe server, să modifice conținutul generat, să perturbe serviciul sau să folosească procesul compromis ca punct de plecare pentru a avansa în infrastructură. Impactul real depinde în mare măsură de modul în care este găzduită aplicația și de ce anume poate accesa procesul de generare a imaginilor.
Rutele publice de generare a imaginilor Open Graph sunt, de asemenea, ușor de identificat și testat automat, ceea ce crește probabilitatea unei exploatări oportuniste odată ce vulnerabilitatea devine cunoscută pe scară largă.
Ce trebuie făcut
- Aplicați patch-ul. Actualizați instalările Next.js afectate la versiunea 16.3.6, unde problema este remediată.
- Auditați rutele
next/og. Verificați fiecare endpoint care generează imagini prinImageResponse, în special rutele Open Graph care preiau parametri din query string, și identificați orice valoare neîncredibilă care ajunge în marcajul SVG. - Dacă nu puteți aplica imediat patch-ul, opriți transmiterea de input controlat de utilizator în conținutul, atributele sau stilurile SVG procesate de implementarea Node.js a
ImageResponse. - Nu vă bazați exclusiv pe validarea input-ului. Comportamentul de parsare și randare SVG este suficient de complex încât poate crea căi de ocolire neașteptate, așa că tratați validarea ca o măsură temporară, nu ca o soluție definitivă.
Echipele care rulează aplicații Next.js expuse public, cu generare dinamică de imagini, ar trebui să trateze acest patch ca prioritate.
