Egy tömörítő, amiről nem tudtad, hogy használod
A Brotli tömörítő hibája egy hét alatt soron kívüli javításokat indított a Node.js-ben, a .NET-ben, a PHP-ban és a Pythonban. Tudod, hol van nálad?

Mi történt
Ismered a matrjoskát? Kinyitod a nagy babát, benne ott egy kisebb, abban egy még kisebb, a végén pedig egy egészen apró, amit elsőre észre sem veszel. A mai szoftverek pont ilyenek. A weboldalad egy keretrendszerben fut, az egy futtatókörnyezetben, abban pedig ott lapul egy csomó apró, beépített könyvtár. Most az egyik legbelső baba repedt meg.
Ezt a babát Brotlinak hívják. A Google nyílt forrású tömörítőkönyvtára, a web egyik alapvető tömörítése a gzip mellett: amikor a böngésző és a szerver összecsomagolva küld adatot, sokszor ezt használják. A kibontást végző részében, a dekóderben határon túli írási hibát (out-of-bounds write) találtak, ez a CVE-2026-111497. Magyarul: egy szándékosan elrontott tömörített adatfolyam kibontás közben a program egy belső memóriaterületén túlra írhat. A következmény összeomlás, memóriaszivárgás, és bizonyos körülmények között akár távoli kódfuttatás. A sajtó több néven emlegeti: Node2Shell, HTTP2Shell, a kutatók egy része tréfásan Broccoli2Shellnek hívja.
A javított Brotli-verziók (1.0.10, 1.1.1 és 1.2.1) 2026. október 21-én jelentek meg. És itt kezdődik az igazi történet. Mivel rengeteg szoftver saját példányt épít be a könyvtárból, egy hét alatt sorra jöttek a soron kívüli javítások: október 21-én a Node.js, október 22–23-án a Python Brotli-csomagjai, a Bun, az Envoy és az Istio, október 25-én, egy vasárnap, a Microsoft a .NET 8, 9 és 10, a Visual Studio és a PowerShell javításával. A PHP pedig október 26. körül öt napon belül másodszor építette újra a Windows-csomagjait, alig néhány nappal a PHP2Shell-javítások után.
Ami engem a leginkább megfogott: a gyökérokot javító módosítás a beszámolók szerint már 2026 februárjában bekerült a Brotli forráskódjába. Csak akkor senki nem jelölte biztonsági hibának, és kiadás sem készült belőle. A hibát végül az OpenAI Codex Security csapata jelentette, a Node.js nekik tulajdonítja a felfedezést.
Mennyire kell aggódni? Vadonbeli támadásról 2026. október 23-ig nem érkezett jelentés, és a hiba a CISA kihasznált sebezhetőségeket gyűjtő katalógusában (KEV) sem szerepelt. Nyilvános koncepcióbizonyíték (PoC, vagyis működő demókód) viszont van, és az Imperva kutatói egy hivatalos Node.js-buildön kódfuttatást is bemutattak, igaz, nem minden próbálkozásra. A súlyosság vitatott: a pontszámok 8,1 és 9,2 között szórnak, és a legvalószínűbb hatás a szolgáltatásmegtagadás, vagyis hogy leáll a szolgáltatásod.
Miért számít neked
Ha a cégednek van weboldala, webshopja vagy API-ja, és Node.js, .NET, PHP (Windows alatt) vagy Python fut alatta, a Brotli jó eséllyel ott van benne. Akkor is, ha a kódotokban sehol nem szerepel ez a szó: elég, ha egy HTTP-kliens automatikusan kibontja a tömörített választ, vagy ha a csomag egy másik csomag függőségeként, úgynevezett tranzitív függőségként települt.
A csapda az, hogy a szokásos rutin itt nem elég. Ha a rendszer Brotliját frissíted, az nem javítja a saját példányt beépítő alkalmazásokat. És fordítva: a frissített csomag sem véd, amíg a futó folyamatot újra nem indítod, vagy a konténerképet újra nem építed.
Magyar érintettség nem ismert, és hazai hatósági figyelmeztetést a kutatás idején nem találtunk. Mivel sok hazai webes szolgáltatás .NET-en vagy Node.js-en fut, valószínű, hogy itthon is sokakat érint, de erről konkrét adat nincs.
Szakmabelieknek: technikai részletek
- CVE: CVE-2026-111497, határon túli írás a Brotli C-dekóder blokktípus-váltást kezelő részében. Érintett: Brotli 1.0.3–1.2.0; javítva: 1.0.10, 1.1.1, 1.2.1.
- Pontszámok: Google CVSS 4.0: 9,2 (kritikus); Red Hat CVSS 3.1: 8,1 (AV:N/AC:H/PR:N/UI:N); Microsoft CVSS 3.1: 8,1, „Exploitation More Likely”; Node.js: „High”.
- Javított verziók: Node.js 22.23.4, 24.22.1, 26.12.1 (a 20/23/25 életciklus végi, javítás nélkül); .NET 8.0.33, 9.0.22, 10.0.14, 11 RC3; PHP Windows 8.5.12-1, 8.4.27-1, 8.3.36-1, 8.2.35-1; Python Brotli 1.2.1, brotlicffi 1.2.1.0; Bun 1.4.4; Envoy 1.36.12, 1.37.8, 1.38.6, 1.39.3, 1.40.0; Istio 1.29.9, 1.30.6, 1.31.2; Go andybalholm/brotli v1.2.7.
- Elérési utak: Node.js zlib, a beépített fetch automatikus kibontása, Express 5 törzsfeldolgozás; ASP.NET Core request decompression és HttpClient automatikus kibontás (alapból kikapcsolva); PHP cURL, ha az automatikus kibontás be van kapcsolva; Python urllib3/requests, httpx, aiohttp, ha a csomag telepítve van.
- Linux: a Node.js és a .NET egyes változatai a rendszer Brotliját, mások a beépítettet használják; a disztribúció saját közleménye a mérvadó (backportolt verziószámok).
- Még javítatlan a nyilvános tracker szerint (október 26.): többek közt DuckDB, Apache Arrow, 7-Zip-zstd, p7zip, EDK II.
- ATT&CK (szerkesztői leképezés): T1190, T1499, T1059, T1105, T1552.
- Észlelés: maga a túlírás nem látszik; a kihasználás utáni viselkedést figyeld (összeomlás után programindítás ugyanabban a munkaterhelésben, shell a webes folyamat alatt, váratlan kimenő kapcsolat), valamint a szokatlan végpontokra érkező Brotli-tömörített kéréseket.
- Indikátorok: hivatalos IOC-lista nem ismert. Hivatalos ajánlások: Microsoft .NET-biztonsági közlemény (dotnet/announcements #494), Red Hat RHSB-2026-015, Node.js 2026. októberi biztonsági kiadás, PHP Windows-letöltési oldal.
Háttéranyag szakmabelieknek
A teljes kutatás egy PDF-ben
Idővonal, szereplők, hogyan működik a támadás, teendők célcsoportonként, szakmai részletek és forrásértékelés. Egy helyen, nyomtatható formában, továbbküldhetően.
Források
- Red Hat: CVE-2026-111497
- SecurityWeek: Node2Shell Brotli flaw triggers patching across Microsoft, Node.js, Python packages
- BleepingComputer: Microsoft releases emergency .NET patches for critical Brotli flaw
- The Hacker News: PHP issues second Windows security update
- The Hacker News: Node.js Brotli decoder bug could allow…
- The Hacker News: Researchers demonstrate Node2Shell RCE
- Wiz: CVE-2026-111497 – Brotli RCE in Node.js and beyond
- Sysdig: Detecting Node2Shell
- Aikido: Python packages vulnerable to Node2Shell
- Broccoli2Shell tracker
- SOC Prime: CVE-2026-111497
AI-csapattal készült, átnézte: Péter
- Az AI-csapat
- Összegyűjtötte és összevetette a gyártói, kutatói és sajtóforrásokat, elkészítette a mélykutatást és a háttéranyagot, megírta a vázlatot és az angol fordítást, és kitalálta az indexkép ötletét.
- Én
- Kiválasztottam a témát és a szöget, átvettem az indexkép ötletét, megírtam a zárógondolatomat, amelyet az AI-csapat bővebben kifejtett, átnéztem és jóváhagytam a cikket.
Megjelenés előtt minden állítást én ellenőriztem, és a véleményrészek az enyémek.