Biztonság 3 perc olvasás

A Brotli hibája miatt több futtatókörnyezetet is külön kell frissíteni

A rendszer Brotli-könyvtárának frissítése önmagában nem védi meg azokat az alkalmazásokat, amelyek saját másolatot tartalmaznak belőle. Az NKI figyelmeztetése szerint a kritikus dekóderhiba többek között a Node.js, a Bun, a Python és az Envoy környezetét érinti; a Microsoft a .NET érintett kiadásaihoz is soron kívüli javítást adott ki.

Facebook X LinkedIn
Technikus keze egy karbantartásra kihúzott szervertálca mellett.
Technikus keze egy karbantartásra kihúzott szervertálca mellett. AI-generált illusztráció

Tömörített kérés és válasz is elérheti a hibás kódot

A CVE-2026-111497 azonosítójú sebezhetőséget HTTP2Shell, Node2Shell és Broccoli2Shell néven is emlegetik. A Google Brotli veszteségmentes tömörítésével webes tartalmak méretét csökkentik. A probléma a visszaállításukat végző dekóderben található: hibás adatfolyamnál folytathatja a feldolgozást, és a kijelölt memóriaterületen kívülre írhat.

Ennek alkalmazásösszeomlás, érzékeny információk kiszivárgása, megfelelő körülmények között pedig távoli kódfuttatás lehet a következménye. Előzetes hitelesítés sem szükséges, ha a támadó által összeállított adat eljut a sérülékeny kódhoz. Rosszindulatú kliens tömörített kéréssel támadhat szervert, egy ellenőrzött kiszolgáló pedig veszélyes választ küldhet az azt letöltő alkalmazásnak.

A Google 9,2-es CVSS 4.0 pontszámot adott a hibának. Ez a műszaki súlyosságot jelzi, nem az észlelt támadásokat. Nyilvános tesztkód már megjelent, de a források nem számolnak be éles, rosszindulatú kihasználásról.

Nem minden Brotli-támogatás jelent érintettséget

A kockázat feltétele, hogy a program kívülről származó Brotli-adatot bontson ki. A Node.js és a Bun esetében ilyen útvonal a beépített fetch() által letöltött tömörített válasz. Az Express 5 és a body-parser 2 a beérkező kérések törzsét is kibonthatja; egy egyszerű Node.js HTTP-szerver viszont ezt önmagában nem végzi el.

Python esetén a Brotli vagy a brotlicffi csomag jelenléte miatt egyes HTTP-kliensek automatikusan feldolgozhatják az ilyen válaszokat. Saját kódbeli közvetlen hivatkozás sem feltétlenül kell hozzá. Az Envoy és az Istio akkor érintett, ha engedélyezték a Brotli-kibontást.

A Microsoft szerint a .NET és az ASP.NET Core alaptelepítésében ez nincs bekapcsolva. Veszélyeztetett lehet viszont az ASP.NET Core kéréseinek kibontása, a HttpClient automatikus válaszfeldolgozása vagy a .NET Brotli-kezelő függvényeinek közvetlen használata. A gyártó hálózaton keresztüli jogosultságnövelésre figyelmeztet.

Ezek a kiadások tartalmazzák a javítást

A szükséges módosítás termékenként külön kiadásba került. Az NKI az Envoy 1.36 és az Istio 1.29 ágánál már támogatott változat használatát javasolja.

Összetevő Javított kiadás
Google Brotli 1.0.10, 1.1.1, 1.2.1
Node.js 22.23.4, 24.22.1, 26.12.1
Bun 1.4.4
Python Brotli 1.2.1
Python brotlicffi 1.2.1.0
Envoy, támogatott ágak 1.40.0, 1.39.3, 1.38.6, 1.37.8
Istio, támogatott ágak 1.30.6, 1.31.2
.NET 8 8.0.33
.NET 9 9.0.22
.NET 10 10.0.14
.NET 11 Release Candidate 3

A Microsoft a soron kívüli csomagok mielőbbi telepítését javasolja. Az operációs rendszerek gyártói korábbi verziószám megtartásával is beépíthetik a biztonsági módosítást.

A beágyazott másolatok és a futó folyamatok külön figyelmet igényelnek

A Brotli számos alkalmazásba közvetlenül beépül, ezért a rendszerkönyvtár cseréje nem javítja meg a saját példányt használó programokat. A sérülékeny kód függőségekben, konténerekben és statikusan fordított állományokban is jelen lehet.

Az NKI ezért nemcsak a közvetlenül telepített csomagok ellenőrzését javasolja. A módosítás után az érintett folyamatokat újra kell indítani, a konténerképeket pedig újra kell építeni és telepíteni. A futó szolgáltatás az újraindításig a régi dekódert használja.

A bejövő kérések szűrése nem zárja le a válaszok felőli utat

Ha a javítás még nem telepíthető, a források a nem megbízható Brotli-adatok kibontásának leállítását javasolják. A beérkező Content-Encoding: br kéréseket még a dekóder előtt kell elutasítani, például a proxynál vagy a tűzfalnál.

Ez nem védi ki a más szerverektől letöltött rosszindulatú válaszokat. Az Accept-Encoding fejlécből a br érték elhagyása sem elegendő: a kiszolgáló ettől függetlenül küldhet Brotli-tartalmat. Python esetén átmeneti megoldásként a Brotli és a brotlicffi csomag eltávolítását ajánlják; az érintett HTTP-kliensek ilyenkor gzip és deflate használatára térnek vissza.

A cikk mesterséges intelligencia segítségével készült; a szerkesztőség ellenőrizte és jóváhagyta. Impresszum