Blogu i Cyber-Guard

Node2Shell: një dobësi në dekoderin Brotli të Node.js që mund të çojë në ekzekutim kodi nga larg

← Kthehu te Blogu
Node2Shell: një dobësi në dekoderin Brotli të Node.js që mund të çojë në ekzekutim kodi nga larg

Një dobësi e dytë kritike u shfaq në të njëjtën ditë me PHP2Shell: CVE-2026-111497, e quajtur Node2Shell, një shkrim jashtë kufijve në dekoderin Brotli që përdor Node.js. Shkrimet jashtë kufijve në një dekompresor janë lloji i gabimit që mund ta kthejë një copë të dhënash të kompresuara të hartuara me qëllim në ekzekutim kodi, dhe studiuesit e Imperva sipas raportimeve demonstruan ekzekutim të plotë kodi nga larg brenda një aplikacioni që punon mbi imazhin zyrtar Node.js 24.22.0 për Linux arm64.

Ekziston kod publik proof-of-concept. Nëse dobësia po shfrytëzohet në natyrë është më pak e qartë: disa raportime thonë se sulmuesit e përdorin tashmë dhe se është në katalogun KEV të CISA-s, ndërsa analiza të tjera thonë se nuk është e listuar dhe se nuk ishin raportuar sulme në kohën kur u shkruan. Preferojmë të të themi se burimet nuk pajtohen në vend që të zgjedhim versionin më dramatik - dhe reagimi i duhur është i njëjtë në të dyja rastet, sepse kodi publik i shfrytëzimit zakonisht përdoret shpejt.

Versionet e rregulluara janë Node.js 22.23.4, 24.22.1 dhe 26.12.1. Ekspozimi është më i gjerë nga sa duket në fillim: Brotli është një format standard i kompresimit HTTP, ndaj çdo shërbim Node.js që dekompreson të dhëna nga jashtë - klientë dhe gateway-e API, reverse proxy, scraper-a, marrës webhook-esh, mjete ndërtimi - mund të jetë në arritje të dikujt që mund t'i dërgojë një ngarkesë keqdashëse. Faqja jote publike nuk është i vetmi vend për të parë.

Mos harro vendet ku fshihet Node.js: imazhe bazë të kontejnerëve që nuk janë rindërtuar prej muajsh, funksione serverless të lidhura me një runtime të vjetër, runner-a CI, mjete të brendshme dhe Node.js i përfshirë brenda produkteve të tjera. Përditësimi i Node.js në laptopin tënd dhe në një server nuk të tregon çfarë po punon në prodhim.

Çfarë të bësh sot: bëj inventarin e shërbimeve Node.js dhe versioneve që raportojnë; rindërto imazhet dhe vendosi përsëri me një version të rregulluar; aty ku nuk mund të përditësosh menjëherë, kufizo kush mund t'i dërgojë të dhëna shërbimit të prekur; dhe vëzhgo për ndërprerje ose rinisje të papritura, që mund të jenë shenjë e hershme e përpjekjeve për shfrytëzim të gabimeve të korruptimit të memories. Pastaj shto një kontroll të versionit të runtime-it në pipeline, që version-i kritik i radhës të jetë përditësim rutinë dhe jo nxitim.