VMTech
Razgovarajmo →

Brotli greška zahteva ažuriranje Node.js, Bun i Python okruženja

Brotli greška zahteva ažuriranje Node.js, Bun i Python okruženja

Ranjivost CVE-2026-111497 u Google Brotli dekoderu pogađa biblioteku Brotli od verzije 1.0.3 do 1.2.0, Node.js 22.x, 24.x i 26.x pre zakrpa 22.23.4, 24.22.1 i 26.12.1, Bun do 1.4.3, kao i Python pakete Brotli i brotlicffi. Propust može omogućiti upis van granica bafera pri obradi posebno pripremljenog komprimovanog sadržaja.

Posledice korupcije memorije mogu biti rušenje procesa, curenje memorije ili izvršavanje koda koji kontroliše napadač. Imperva Red Team demonstrirao je izvršavanje koda na neizmenjenoj verziji Node.js 24.22.0 za Linux ARM64, putem odgovora preuzetog funkcijom fetch() i tela zahteva za Express. Demonstracija nije objavljena, zahtevala je više pokušaja i nije testirana na drugim izdanjima.

Izloženost zavisi od dekompresije nepouzdanog sadržaja

Brotli je Google format kompresije koji se koristi za smanjenje web saobraćaja. Greška se nalazi u C kodu dekodera, pa se prenosi u programe koji ugrađuju njegovu kopiju. Aplikacija nije izložena samim prisustvom runtime okruženja: mora da dekodira Brotli podatke koje kontroliše druga strana.

Kod Node.js i Bun okidač može biti odgovor sa zaglavljem Content-Encoding: br koji preuzima ugrađeni fetch(), ili telo zahteva koje dekompresuje Express 5 odnosno body-parser 2. Običan Node.js HTTP server ne dekodira tela zahteva samostalno. Za Node.js nije objavljeno alternativno ublažavanje, pa je ažuriranje runtime okruženja jedino navedeno rešenje.

Envoy je pogođen u verzijama 1.36.11, 1.37.7, 1.38.5 i 1.39.2, a zakrpe su 1.36.12, 1.37.8, 1.38.6, 1.39.3 i 1.40.0. Istio je izložen u serijama 1.29.0–1.29.8, 1.30.0–1.30.5 i 1.31.0–1.31.1, kada je Brotli dekompresija uključena; popravljene verzije su 1.29.9, 1.30.6 i 1.31.2. Ako je dekompresija isključena, ovaj put do greške nije dostupan.

Python paketi mogu izložiti HTTP klijente

Python Brotli 1.2.0 i stariji popravljen je u verziji 1.2.1, dok je brotlicffi 1.2.0.x i stariji popravljen u 1.2.1.0. Kada je bilo koji od paketa instaliran, HTTP klijenti requests, urllib3, httpx i aiohttp mogu automatski dekodirati Brotli odgovore, čak i ako aplikacioni kod neposredno ne uvozi taj paket.

Google je ranjivost ocenio sa 9,2 po CVSS 4.0 skali, Node.js je označava kao visoku, a Red Hat joj daje ocenu 8,1. Do sada nisu prijavljeni napadi u stvarnom okruženju. CISA je 23. oktobra evidentirala da eksploatacija nije zabeležena i da automatizacija nije prisutna, dok Red Hat navodi da nema pouzdanog javnog dokaza koncepta za izvršavanje koda.

Operativni koraci za timove

Prioritet je ažuriranje svih pogođenih komponenti, zatim restart servisa i ponovna izgradnja kontejnerskih slika, jer pokrenuti proces zadržava stari dekoder. U okruženjima gde nadogradnja još nije moguća, treba odbiti dolazne zahteve sa Content-Encoding: br pre nego što ih obradi proksi ili parser i isključiti automatsku obradu Brotli odgovora u HTTP klijentima.

U Python okruženjima uklanjanje paketa Brotli i brotlicffi vraća klijente na gzip i deflate. Samo uklanjanje oznake br iz zaglavlja Accept-Encoding nije dovoljno, jer server može poslati Brotli odgovor bez obzira na taj zahtev. Poslovni zaključak je da inventar ugrađenih dekodera, instaliranih paketa i pravila za dekompresiju treba proveriti uz verzije runtime okruženja, a zakrpljene instance ponovo pokrenuti.

#cybersecurity#vulnerability#nodejs#patchmanagement
Otvorena analitika
Na sajtu 3 pregleda
min čitanja 4 25.10.2026
Instagram

Brotli greška zahteva ažuriranje Node.js, Bun i Python okruženja

Otvorite objavu na Instagramu ↗