Dobësia e Brotli në Node.js u rregullua në të gjitha release lines të mbështetura
Dobësia e Brotli në Node.js është rregulluar në të tria release lines të mbështetura të platformës, si pjesë e përditësimeve të sigurisë të publikuara më 21 tetor. Versionet e reja trajtojnë 10 defekte, kryesuar nga CVE-2026-111497, një problem me rrezikshmëri të lartë që, sipas projektit Node.js, mund të lejojë remote code execution, që do të thotë se një sulmues mund ta bëjë një sistem të prekur të ekzekutojë kod të zgjedhur prej tij.
Versionet e rregulluara janë Node.js 22.23.4 dhe 24.22.1 në release lines me mbështetje afatgjatë, si dhe 26.12.1 në release line aktuale. Node.js 20.x dhe çdo release line më e hershme kanë arritur end of life, që do të thotë se nuk marrin më rregullime sigurie. Prandaj, aplikacionet që ende i përdorin ato versione duhet të kalojnë në një release line të mbështetur, në vend që të presin një patch.
CVE-2026-111497 prek Brotli decoder të përfshirë me Node.js. Brotli është një compression library nga Google që zvogëlon madhësinë e të dhënave të transferuara. Node.js mund ta thërrasë drejtpërdrejt kopjen e integruar përmes modulit node:zlib ose automatikisht kur fetch() merr një response të kompresuar me Brotli. Rreziku shfaqet kur një aplikacion dekompreson të dhëna Brotli të kontrolluara nga një sulmues, përfshirë një request body të dërguar ose një response të marrë nga një server tjetër.
Defekti bazë është një out-of-bounds write, i cili ndodh kur software shkruan të dhëna përtej hapësirës së memory të rezervuar për të. Input i kompresuar dhe i keqformuar mund ta bëjë decoder të shkruajë përtej buffer-it të vet. Node.js përfshiu një korrigjim upstream nga projekti Brotli, i cili zbulon input-in e pavlefshëm dhe e ndalon përpunimin më herët. I njëjti korrigjim u shfaq më 21 tetor në Brotli 1.2.1, 1.1.1 dhe 1.0.10, ndaj edhe software tjetër përveç Node.js që përfshin kopjen e vet të Brotli mund të ketë nevojë për përditësim. Ndryshimi në kod u bë fillimisht në source code të Brotli në shkurt 2026, por nuk u publikua si security release deri në tetor.
Projekti Node.js përshkruan mundësinë e remote code execution, por rezultatet e demonstruara janë më të kufizuara. Një proof of concept publik, i publikuar më 22 tetor, arriti ekzekutim kodi vetëm me një test build të dobësuar qëllimisht. Në një build standard të Node.js, autori i tij raportoi një crash dhe lexim të kufizuar të process memory, por nuk prodhoi një sulm funksional për ekzekutim kodi. Versionet e përditësuara të Node.js e refuzojnë input-in e keqformuar të përdorur nga ai demonstrim. Deri më 22 tetor nuk ishte raportuar asnjë exploitation in the wild.
Tri dobësi të tjera kanë vlerësim të lartë. CVE-2026-106069 dhe CVE-2026-105483 prekin kontrollet e hostname në Transport Layer Security (TLS), të cilat ndihmojnë të konfirmohet se një lidhje e enkriptuar ka arritur serverin e synuar. Paraqitje të pazakonta të një adrese Internet Protocol mund të bënin që një certifikatë të përputhej me një host me të cilin nuk duhej të përputhej. CVE-2026-105483 përfshin konkretisht adresa IP të shkruara me shifra fullwidth dhe prek 24.x dhe 26.x; Node.js e vlerëson si dobësi me rrezikshmëri të lartë, edhe pse commit që e rregullon e përshkruan si me rrezikshmëri të ulët dhe të vështirë për t’u shfrytëzuar. CVE-2026-105482 bën që dns.resolve, një function që kërkon emra përmes Domain Name System (DNS), ta ndërpresë hostname te një null byte i integruar. CVE-2026-106069, CVE-2026-105482 dhe defekti në Brotli prekin 22.x, 24.x dhe 26.x.
Grupi me rrezikshmëri mesatare përfshin CVE-2026-105481, ku një lidhje keep-alive e ripërdorur mund të përpunojë një response të shkruar përpara se të dërgohej request-i i saj, dhe CVE-2026-106072, që u lejon emrave DNS të autentikojnë IP endpoints kur përdoret formatim jo standard i IPv4. CVE-2026-106074 bën që crypto.randomUUID() dhe crypto.randomInt() të kthejnë të njëjtat vlera në çdo process kur një aplikacion paketohet si startup snapshot ose single-executable application. Një startup snapshot ruan gjendjen e përgatitur të një aplikacioni për ripërdorim. Përsëritja e vlerave që supozohet të jenë të paparashikueshme mund të cenojë funksionet e aplikacionit që varen nga rastësia e tyre. Të tria problemet me rrezikshmëri mesatare prekin 22.x, 24.x dhe 26.x.
Tri defekte me rrezikshmëri të ulët e plotësojnë grupin. CVE-2026-106070 lejon ZipFile në 26.x të kthejë bytes të kontrolluar nga sulmuesi pas dështimit të një kontrolli të header. CVE-2026-106071 mund të japë më shumë qasje në file nga sa synohet, përmes një kërkimi wildcard në Permission Model, dhe prek 26.x. CVE-2026-106073 mundëson një bypass të Permission Model përmes fs.realpathSync dhe prek të tria release lines të mbështetura.
Versionet e reja ndryshojnë gjithashtu trajtimin e certifikatave, pasi u raportua se tetë keys të ndërmjetme të certificate authority nga eMudhra ishin komprometuar. Një certificate authority lëshon kredenciale që përdoren për të përcaktuar identitetin e një shërbimi online. Node.js mbështetet te root certificate list e Mozilla, por nuk kontrollon revocation në mënyrë të parazgjedhur, ndaj chains të bazuara në ato keys mund të vazhdonin më parë ta kalonin validation. Përditësimet shtojnë një block të integruar për të teta keys dhe heqin tri emSign roots nga lista e integruar. Go vendosi të njëjtin block në një përditësim të 20 tetorit. Lidhjet e rifilluara nga sesione të krijuara përpara përditësimit nuk kontrollohen përsëri derisa ato sesione të skadojnë, ndërsa release lines të Node.js që kanë arritur end of life nuk e marrin block-un.
Dependencies të integruara morën përditësime të mëtejshme. Undici, HTTP client pas fetch(), kaloi në një version që trajton tri advisories me rrezikshmëri mesatare: një që prek kontrollin e Subresource Integrity dhe dy që lidhen me memory exhaustion, përfshirë një në WebSocket client të përfshirë me Node.js. Projekti përditësoi gjithashtu c-ares në çdo release line të mbështetur, OpenSSL në 22.x dhe 24.x, si dhe relational database të përdorur nga shumë aplikacione web në 22.x, për të përfshirë rregullime për dobësi të njohura publikisht.
Përmirësimi në versionet e reja është rregullimi i përcaktuar dhe advisory nuk ofron asnjë workaround të përkohshëm në Node.js për dobësinë e Brotli. Vercel tha se më 21 tetor vendosi rregulla firewall për ta ndaluar sulmin përmes requests hyrëse, por këto rregulla nuk mbulojnë responses të kompresuara me Brotli që një aplikacion merr nga serverë të jashtëm dhe nuk i zëvendësojnë përditësimet. Për bizneset që kanë nevojë për mbështetje në këtë punë, AEU-I ofron shërbime IT, infrastrukture dhe konsulence me sigurinë si përparësi. Operatorët e faqeve web duhet të verifikojnë versionin e Node.js që ekzekuton realisht çdo aplikacion, përfshirë deployments të menaxhuara ose të containerised, në vend që të supozojnë se një përditësim i operating system ka ndryshuar application runtime.