După PHP2Shell, o a doua vulnerabilitate critică într-o componentă folosită peste tot pe internet le dă de lucru administratorilor și programatorilor. De data aceasta, problema e în Brotli, biblioteca de compresie dezvoltată de Google, pe care o folosesc Node.js, .NET, bibliotecile Python pentru cereri web, curl și multe alte programe. Vulnerabilitatea, CVE-2026-111497, poate permite rularea de cod de la distanță doar prin trimiterea unor date comprimate special.
Cercetătorii au dat problemei mai multe nume: „Node2Shell”, „Broccoli2Shell” și „HTTP2Shell”. Ultimul arată cel mai bine cât de larg e impactul, pentru că problema nu se limitează la Node.js: lovește orice aplicație care decomprimă date Brotli primite prin HTTP.
Ce este Brotli și unde apare
Brotli este un algoritm de compresie lansat de Google în 2015 și folosit în principal pe web: serverele trimit paginile comprimate (antetul Content-Encoding: br), iar programul care le primește le decomprimă. Multe aplicații includ în interior propria copie a bibliotecii, iar acest detaliu contează mult la actualizare.
Ce e greșit în cod
Decodorul trata o anumită eroare de format din fluxul comprimat (o „schimbare de bloc” invalidă) ca pe o cerere de date suplimentare. Continua astfel să adauge octeți într-o zonă de memorie internă de numai opt octeți și scria dincolo de limita ei. Rezultatul poate fi oprirea procesului, scurgerea de date din memorie sau, în cel mai grav caz, rularea codului atacatorului.
| Detaliu | Valoare |
|---|---|
| Identificator | CVE-2026-111497 |
| Gravitate | CVSS 4.0: 9,2 din 10 (Google); CVSS 3.1: 9,8 (GitHub); Node.js o clasifică „ridicată” |
| Versiuni Brotli afectate | 1.0.3–1.0.9, 1.1.0 și 1.2.0 |
| Versiuni Brotli reparate | 1.0.10, 1.1.1 și 1.2.1 |
| Descoperită de | OpenAI, în februarie, potrivit Aikido |
| Corecturi publicate | 21 octombrie (Node.js și Google), 23 octombrie (pachetele Python), 25 octombrie (.NET) |
| Atacuri confirmate | deocamdată nu; există exploit-uri demonstrative publice pe GitHub |
Un detaliu arată cât de greu ajung corecturile la utilizatori: potrivit Aikido, codul sursă Brotli a fost reparat încă din februarie, dar nicio versiune nouă nu a fost lansată până în octombrie.
Cum ar putea ataca cineva
- Prin cereri către server. Dacă un server acceptă cereri comprimate cu Brotli și le decomprimă, atacatorul îi trimite direct datele periculoase. Acest drum poate fi blocat la firewall sau la proxy.
- Prin răspunsuri de la un server rău intenționat. Dacă aplicația ta descarcă date de pe un site controlat de atacator, iar biblioteca decomprimă automat răspunsul (de exemplu,
fetch()în Node.js saurequestsîn Python, când e instalat pachetul Brotli), atacul vine din răspuns. Acest drum nu poate fi blocat filtrând cererile primite.

Ce e afectat și ce versiuni instalezi
| Produs | Versiuni reparate | Observații |
|---|---|---|
| Node.js | 22.23.4, 24.22.1, 26.12.1 | Node.js 20 și mai vechi nu mai primesc corectură: treci pe o versiune suportată |
| .NET | 8.0.33, 9.0.22, 10.0.14, 11 RC3 | afectat doar dacă aplicația decomprimă Brotli (nu e activat implicit); .NET 7 nu primește corectură; .NET Framework nu e afectat |
| Python: Brotli / brotlicffi | 1.2.1 / 1.2.1.0 | folosite automat de urllib3, requests, httpx, aiohttp și Scrapy, dacă sunt instalate |
| Bun | 1.4.4 | executabilele compilate trebuie refăcute |
| Java: brotli4j | 1.24.0 | include Brotli 1.2.1 |
| curl / libcurl | cu Brotli 1.2.1 sau o versiune reparată | copiile incluse în aplicații necesită recompilare |
| Envoy / Istio | Envoy 1.37.8, 1.38.6, 1.39.3, 1.40.0; Istio 1.29.9, 1.30.6, 1.31.2 | doar dacă e configurat filtrul de decompresie Brotli |
Potrivit Aikido, Debian și Alpine au deja pachete reparate, iar Amazon Linux 2023 a primit corectura adaptată. La Ubuntu, SUSE și Red Hat, pachetele reparate nu apăruseră încă la data analizei. Modulul standard mod_brotli din Apache doar comprimă, nu decomprimă, deci nu e afectat. Avizele publicate până acum nu menționează browserele.
Ce trebuie să faci
- Verifică versiunile:
- Node.js:
node -v - Python:
pip show Brotli brotlicffiîn fiecare mediu și container - .NET:
dotnet --list-runtimes - curl:
curl -V(caută „brotli” în linia Features)
- Node.js:
- Actualizează la versiunile din tabel, de exemplu
pip install -U "Brotli>=1.2.1", apoi regenerează fișierele de dependențe (lockfiles). - Repornește procesele după actualizare: un serviciu care rulează păstrează în memorie versiunea veche.
- Reconstruiește imaginile Docker și aplicațiile autonome (.NET self-contained, executabile Bun). Actualizarea bibliotecii Brotli din sistem nu repară Node.js și nici aplicațiile care vin cu propria copie.
- Dacă nu poți actualiza imediat: dezactivează decompresia Brotli în aplicațiile Python și .NET și blochează la proxy sau firewall cererile primite cu
Content-Encoding: br. Ține minte că asta nu acoperă descărcările de pe servere străine.
Dacă nu administrezi servere și nu scrii cod, nu ai nimic special de făcut, în afară de obișnuitele actualizări ale programelor de pe calculator.
Actualizare la PHP2Shell: atacuri confirmate
Între timp, situația PHP2Shell s-a agravat. Pe 26 octombrie, agenția americană CISA a adăugat cele două vulnerabilități (CVE-2026-109618 și CVE-2026-109619) în catalogul celor exploatate efectiv și le-a cerut instituțiilor federale să le repare până pe 29 octombrie. Un cercetător de la Perplexity a raportat prima rulare de cod reușită pe un server-capcană. Detaliile sunt în articolul nostru despre PHP2Shell, actualizat.
Surse: BleepingComputer (detaliile tehnice, versiunile reparate, corecturile .NET de urgență, măsurile temporare), Rapid7 (scorul CVSS, versiunile Node.js și Brotli, lipsa atacurilor confirmate la 26 octombrie), Aikido (pachetele Python, Java, curl, Envoy, Istio, distribuțiile Linux, descoperirea de către OpenAI), catalogul CISA KEV (verificat pe 27 octombrie).
Fii primul care comentează acest articol!