Next.js 16.3.6 rregullon cenueshmërinë kritike të ekzekutimit të kodit në ImageResponse
Imazh i krijuar me IA

Next.js 16.3.6 rregullon cenueshmërinë kritike të ekzekutimit të kodit në ImageResponse

Vercel rregulloi CVE-2026-94545, një cenueshmëri kritike në Next.js te ImageResponse që mund të lejonte tekst të krijuar me qëllim të keq në imazhe të ekzekutonte kod në serverat Node.js.

Vercel ka publikuar Next.js 16.3.6 për të rregulluar një cenueshmëri kritike të sigurisë në funksionin ImageResponse të këtij framework-u, të cilin faqet e internetit e përdorin për të krijuar imazhe Open Graph dhe pamje të tjera paraprake për rrjetet sociale, pra fotot që shfaqen kur një lidhje ndahet në rrjetet sociale ose në aplikacione bisede. Cenueshmëria, e identifikuar si CVE-2026-94545, mund t'i lejojë një sulmuesi të ekzekutojë kod në një server kur një aplikacion vendos vlera të kontrolluara nga sulmuesi, për shembull tekst të lexuar nga URL-ja e një kërkese, në procesin e gjenerimit të imazhit. Vercel, kompania që mirëmban Next.js, njoftoi rregullimin më 22 shtator dhe e vlerëson problemin si kritik me një rezultat CVSS (Common Vulnerability Scoring System) prej 9.5.

Versionet e cenueshme janë Next.js 16.2.0 deri në 16.3.5 kur ImageResponse ekzekutohet në runtime Node.js, që është mjedisi i parazgjedhur i JavaScript-it në anën e serverit në Next.js. Versioni Edge i ImageResponse nuk është i prekur, dhe Next.js 15 gjithashtu nuk është i prekur. ImageResponse përdor një bibliotekë të quajtur Satori, e zhvilluar gjithashtu nga Vercel, për të kthyer strukturën e imazhit në SVG (Scalable Vector Graphics, një format imazhi i bazuar në tekst) përpara se të krijohet imazhi përfundimtar PNG. Sipas këshillës së Vercel, cenueshmëria prek aplikacionet që kalojnë vlera të kontrolluara nga sulmuesi në përmbajtjen, atributet ose stilet SVG gjatë gjenerimit të imazhit. Shembulli në këshillë merr një vlerë nga URL-ja e një kërkese dhe e vendos brenda një elementi SVG title. Nuk thuhet nëse teksti në elementë të zakonshëm, si një titull brenda një div, gjithashtu llogaritet.

Për të gjetur se ku një aplikacion e përdor funksionin, zhvilluesit duhet të kërkojnë ImageResponse të importuar nga next/og, për shembull në route handlers dhe në skedarët opengraph-image. Route handlers e krijojnë imazhin kur arrin një kërkesë, ndërsa një skedar opengraph-image mund ta krijojë atë ose në kohën e ndërtimit ose kur arrin një kërkesë. Deri më 23 shtator, The Hacker News raportoi se nuk gjeti raportime publike për sulme që shfrytëzojnë këtë cenueshmëri dhe as kod publik shfrytëzimi.

Versioni i vetëm i rregulluar është Next.js 16.3.6, i cili mund të instalohet me npm install next@16.3.6. Deri më 23 shtator, regjistri npm nuk kishte asnjë publikim të rregulluar për linjën 16.2, kështu që faqet në 16.2 duhet të kalojnë në 16.3.6. Next.js 15.5.26 shton forcim shtesë të sigurisë për next/og në linjën 15.5. Nëse përditësimi duhet të presë, zgjidhja e përkohshme e këshillës është të mbahen vlerat e kontrolluara nga sulmuesi jashtë përmbajtjes, atributeve dhe stileve SVG që ImageResponse në Node.js jep. Këshilla nuk sugjeron kalimin në versionin Edge të paprekur, dhe dokumentacioni i Next.js e shënon runtime Edge si të vjetruar.

Kontrollimet e The Hacker News më 23 shtator treguan gjithashtu disa boshllëqe zbulimi. Mjeti npm audit nuk e shënoi Next.js 16.3.5, një version i prekur. Këshilla nuk ishte ende e listuar në GitHub Advisory Database, dhe asnjë regjistrim CVE për CVE-2026-94545 nuk ishte publikuar në atë kohë. Këshilla dhe njoftimi i Vercel gjithashtu nuk ofrojnë asnjë mënyrë për të kontrolluar nëse një rrugë e prekur është abuzuar përpara rregullimit, dhe nuk thonë nëse aplikacionet e hostuara në Vercel janë të mbrojtura. Për dy cenueshmëri kritike të Next.js të rregulluara në gusht, kompania tha se aplikacionet e hostuara ishin të mbrojtura dhe nuk kishin nevojë për përditësim, por një deklaratë e tillë nuk shfaqet për këtë cenueshmëri. Versionet e prekura kanë qenë të disponueshme që kur Next.js 16.2 u publikua më 18 mars.

Vetë bug-u është në Satori, dhe këshilla e vetë Satori, e publikuar të njëjtën ditë, thotë se disa vlera arritën në daljen e tij SVG pa u escapuar siç duhet. Një vlerë e krijuar posaçërisht mund të lexohej atëherë si kod SVG në vend të tekstit të thjeshtë. Në Next.js, vlera të tilla mund të arrinin cenueshmëri në biblioteka të tjera nga të cilat varet Next.js dhe të çonin në ekzekutim kodi, tha Vercel. Vercel nuk i ka emërtuar ato biblioteka. Këshilla e Satori e vlerëson të njëjtin CVE si mesatar, me një rezultat 5.3, dhe thotë se ndikimi varet nga mënyra se si përdoret dalja SVG. Zhvilluesit që përdorin Satori drejtpërdrejt duhet ta përditësojnë atë në versionin 0.33.5, i cili përmban rregullimin.

Për shkak se Satori është i paketuar brenda paketës Next.js, ai nuk shfaqet si varësi e veçantë në lockfile-in e një projekti, kështu që mbështetja te një skaner varësish mund ta humbasë atë. Vercel rekomandon të kontrollohet drejtpërdrejt versioni i Next.js. Për ekipet që menaxhojnë shumë aplikacione JavaScript, AEU-I ofron IT dhe konsulencë të fokusuar te siguria që mund të ndihmojë me planifikimin e rregullimeve dhe rishikimet e varësive.

Si të Mbroheni

  1. Përditësoni softuerin e faqes tuaj në versionin Next.js 16.3.6 sa më shpejt të jetë e mundur nëse faqja juaj e përdor atë.
  2. Kërkojini zhvilluesit tuaj të kontrollojë drejtpërdrejt numrin e versionit të Next.js në vend që të mbështetet te një skaner sigurie, sepse disa skanerë nuk e kapën cenueshmërinë.
  3. Derisa të mund të përditësoni, mos lejoni që tekst nga URL-të e vizitorëve ose nga të dhënat e përdoruesit të përdoret për të krijuar imazhe paraprake për rrjetet sociale.
  4. Mbani një sy te këshilla zyrtare e sigurisë e Vercel dhe regjistrimi CVE, dhe zbatoni çdo udhëzim shtesë që publikojnë.
  5. Nëse ekipi juaj e përdor mjetin e imazheve Satori më vete, përditësoni Satori në versionin 0.33.5.

Dobësitë & Zgjidhjet

Termat e Shpjeguar

  • Next.js Një framework popullor për ndërtimin e faqeve të internetit dhe aplikacioneve web me JavaScript.
  • ImageResponse Një funksion i Next.js që krijon imazhe për pamje paraprake në rrjetet sociale dhe karta lidhjesh.
  • SVG Scalable Vector Graphics, një format imazhi i bazuar në tekst që përdoret për të vizatuar forma dhe tekst në faqet e internetit.
  • CVSS Common Vulnerability Scoring System, një shkallë me numra që vlerëson sa serioze është një cenueshmëri sigurie.
  • Node.js runtime Mjedisi që ekzekuton kod JavaScript në një server në vend të një shfletuesi.
  • npm Një mjet dhe regjistër online që përdoret për të instaluar dhe menaxhuar paketa dhe varësi JavaScript.
  • dependency Një bibliotekë ose paketë softuerike nga e cila një program tjetër varet për të funksionuar.

Shërbime AEU të lidhura

  • AEU DNS Resolver DNS i enkriptuar