Înapoi la Noutăți
Amenințări

Next.js publică un patch de urgență pentru două vulnerabilități RCE critice și un DoS în Server Actions

Next.js 16.4.1 și 15.5.28 repară două vulnerabilități de execuție de cod cu scor CVSS 9.5, una în use cache și una în procesarea SVG prin sharp/librsvg, plus un DoS în Server Actions. Două dintre ele nu au încă CVE, deci npm audit s-ar putea să nu le semnaleze.

Next.js publică un patch de urgență pentru două vulnerabilități RCE critice și un DoS în Server Actions

Patch de urgență pentru Next.js: două vulnerabilități RCE critice și un DoS în Server Actions

Pe 14 octombrie 2026, Vercel a publicat în afara ciclului obișnuit o actualizare de securitate pentru Next.js. Aceasta repară două vulnerabilități critice de execuție de cod la distanță (RCE) și o vulnerabilitate de tip denial-of-service cu severitate ridicată. Versiunile corectate sunt 16.4.1 (Active LTS) și 15.5.28 (Maintenance LTS). Ambele vulnerabilități de execuție de cod au scor CVSS 9.5 în evaluarea Vercel.

Ce s-a întâmplat

Actualizarea rezolvă trei probleme distincte:

ProblemăVersiuni afectateCorectat înExpus când
RCE prin use cache (GHSA-673q-mjm6-r5xr)16.0.0 – 16.4.016.4.1App Router cu Cache Components activ și o funcție use cache care returnează mai multe typed arrays
RCE prin procesarea SVG (CVE-2026-96889, GHSA-2464-fhr4-w9xw)10.0.0 – 15.5.27, 16.0.0 – 16.4.016.4.1 sau 15.5.28 cu sharp ≥ 0.35.5SVG-uri controlate de atacator ajung la sharp pe Linux cu glibc
DoS prin Server Actions (GHSA-p3m5-59mp-jv5r)13.0.0 – 15.5.27, 16.0.0 – 16.4.015.5.28, 16.4.1Aplicații App Router cu cel puțin o Server Action

1. React Server Components / use cache. Problema se află în pachetele React pentru randare pe server (react-server-dom-webpack, -parcel și -turbopack, versiunile 19.0.0–19.3.0). React spune că afectează doar cazuri foarte rare: răspunsul trebuie să transporte mai multe typed arrays împreună cu o valoare controlată de atacator. În Next.js, asta înseamnă Cache Components activat și o funcție use cache care returnează mai mult de un typed array. Vercel recomandă totuși actualizarea chiar dacă nu aveți o astfel de funcție.

2. Coruperea memoriei în librsvg, prin sharp. Next.js ajunge la librsvg prin dependența sharp inclusă în pachet. Execuția de cod este posibilă pe Linux cu glibc. Optimizarea SVG este dezactivată implicit și trebuie activată explicit cu dangerouslyAllowSVG. Totuși, next/og (imaginile de previzualizare pentru social media, pe runtime-ul Node.js) folosește aceeași bibliotecă. Red Hat evaluează bug-ul din librsvg la 7.8 și spune că exploatarea necesită interacțiunea utilizatorului. Vercel evaluează expunerea din Next.js la 9.5, pentru că un server o poate atinge prin rețea.

3. DoS în Server Actions. Dacă o aplicație App Router definește cel puțin o Server Action, cereri special construite pot duce un proces de server la 100% CPU și îl pot bloca pentru restul traficului. Aplicațiile pe Pages Router și cele fără Server Actions nu sunt afectate.

Expunerea depinde și de platforma de găzduire. Netlify spune că platforma sa nu rulează componenta vulnerabilă de optimizare a imaginilor, dar recomandă totuși actualizarea.

De ce contează

  • Procesarea imaginilor din Next.js tot produce vulnerabilități. Este a treia problemă de execuție de cod în procesarea imaginilor din Next.js din august încoace: întâi un bug în libheif/AVIF, apoi o injecție SVG în next/og, iar acum aceasta. Cercetătorul care a raportat bug-ul din librsvg spune că este cauza de fond și pentru vulnerabilitatea next/og din septembrie. Pentru acea vulnerabilitate există deja un exploit public, deși este construit pentru o configurație anume.
  • Scannerele s-ar putea să nu o semnaleze. La 15 octombrie, avizele pentru use cache și Server Actions nu aveau CVE și nu apăreau în feed-ul de avize npm. Asta înseamnă că npm audit și multe instrumente SCA nu le vor raporta. Doar vulnerabilitatea de imagine apare, prin avizul propriu al sharp.
  • Versiunea 15 poate rămâne vulnerabilă după actualizare. Next.js 15.5.28 acceptă încă versiunea vulnerabilă sharp 0.34.x, așa că o actualizare peste un lockfile existent poate lăsa vechea bibliotecă instalată.
  • Impactul depinde de build-ul Node.js. Mentenantul sharp avertizează că binarele oficiale Node.js nu sunt protejate împotriva acestui tip de corupere a memoriei. Pe aceste build-uri, rezultatul poate fi execuție de cod, nu doar un crash.

Nu este React2Shell. Bug-ul din RSC se află în aceleași pachete ca vulnerabilitatea de severitate maximă din decembrie 2025, dar condițiile de declanșare sunt mult mai restrânse. La 15 octombrie nu existau rapoarte publice de exploatare pentru niciuna dintre cele trei probleme.

Ce trebuie făcut

  1. Actualizați. Treceți la Next.js 16.4.1 (v16) sau 15.5.28 (v15), apoi reconstruiți și redistribuiți aplicația.
  2. Pe v15, verificați personal sharp. Rulați npm ls sharp și asigurați-vă că versiunea instalată este 0.35.5 sau mai nouă. Dacă nu, actualizați-o explicit. Pe v16, 16.4.1 cere deja 0.35.5.
  3. Măsură temporară pentru bug-ul SVG, dacă nu puteți actualiza încă Next.js: fixați sharp ≥ 0.35.5 sau blocați decodarea SVG cu sharp.block({ operation: ["VipsForeignLoadSvg"] }). Pentru use cache și Server Actions nu există soluție de ocolire. Doar actualizarea le rezolvă.
  4. Inventariați expunerea. Aflați unde folosiți dangerouslyAllowSVG, next/og pe runtime-ul Node.js, Cache Components și Server Actions, și tratați acele aplicații cu prioritate.
  5. Verificați versiunile manual. Pentru că două dintre avize nu au încă CVE, nu vă bazați doar pe npm audit. Comparați versiunile Next.js instalate cu cele corectate, în toate repository-urile și imaginile de container.
  6. Urmăriți consumul de resurse. Până când toate aplicațiile sunt actualizate, configurați alerte pentru saturarea susținută a CPU în procesele de server Next.js. Poate fi un semn timpuriu că cineva abuzează de bug-ul din Server Actions.

Subiect relatat inițial de The Hacker News. Rezumatul și analiza aparțin echipei 4Tify.

DISTRIBUIE