HTTP2Shell: krytyczna luka w Brotli wykorzystywana w atakach

Dominik Panek · 27 października 2026 · Bezpieczeństwo IT

Krytyczna podatność w bibliotece kompresji Brotli zmusiła twórców popularnego oprogramowania do wydania pilnych aktualizacji zabezpieczeń. Luka oznaczona jako CVE-2026-111497, znana również pod nazwami Node2Shell i HTTP2Shell, może doprowadzić do uszkodzenia pamięci procesu, ujawnienia poufnych danych, a w określonych warunkach także do zdalnego wykonania kodu.

Problem dotyczy dekodera Brotli, wykorzystywanego między innymi przez Node.js, Microsoft .NET oraz wybrane biblioteki Pythona. Skala zagrożenia jest istotna nie tylko ze względu na liczbę potencjalnie podatnych aplikacji. CISA umieściła CVE-2026-111497 w katalogu Known Exploited Vulnerabilities (KEV), co oznacza, że podatność została uznana za wykorzystywaną w rzeczywistych atakach.

Administratorzy i twórcy oprogramowania powinni potraktować aktualizację jako pilne zadanie, szczególnie jeśli ich usługi przetwarzają dane Brotli pochodzące od niezaufanych użytkowników.

Na czym polega podatność CVE-2026-111497?

Brotli to algorytm bezstratnej kompresji danych opracowany przez Google. Jest powszechnie wykorzystywany w internecie, między innymi do kompresowania odpowiedzi HTTP. W praktyce biblioteka może być dołączona bezpośrednio do aplikacji, środowiska uruchomieniowego lub innego komponentu.

Źródłem problemu jest błąd w dekoderze Brotli, związany z zapisem poza wyznaczonym obszarem pamięci (out-of-bounds write). Odpowiednio spreparowany strumień skompresowanych danych może doprowadzić do uszkodzenia sąsiednich obszarów pamięci procesu.

Potencjalne skutki obejmują:

  • Uszkodzenie pamięci i awarię procesu – aplikacja może przestać działać lub zostać doprowadzona do odmowy usługi (DoS).
  • Ujawnienie informacji – w określonych warunkach możliwy jest odczyt danych znajdujących się w pamięci procesu.
  • Zdalne wykonanie kodu (RCE) – w sprzyjających okolicznościach błąd może zostać wykorzystany do uruchomienia kodu na podatnym systemie.

Samo korzystanie z Brotli nie oznacza automatycznie, że aplikacja jest podatna na zdalny atak. Istotne jest to, czy wykorzystuje podatną wersję dekodera i czy przetwarza odpowiednio spreparowane dane pochodzące od niezaufanego źródła.

Ocena CVSS 9.2 i potwierdzone wykorzystanie w atakach

CVE-2026-111497 otrzymała ocenę 9,2 na 10 w skali CVSS 4.0, co odpowiada kategorii krytycznej. Ocena została przypisana przez Google jako organizację CNA. Warto zaznaczyć, że NIST NVD prezentuje tę ocenę jako ocenę dostarczoną przez CNA, a nie jako niezależną ocenę NVD.

Początkowo publikowane informacje koncentrowały się na demonstracjach laboratoryjnych i możliwości wykorzystania błędu. Sytuacja zmieniła się jednak 27 października 2026 roku, kiedy CISA dodała podatność do katalogu Known Exploited Vulnerabilities. Oznacza to, że nie należy już opisywać zagrożenia jako takiego, dla którego nie odnotowano wykorzystania w rzeczywistych atakach.

W kolejnych dniach instytucje zajmujące się cyberbezpieczeństwem publikowały ostrzeżenia dotyczące aktywnego wykorzystywania luki oraz publicznie dostępnych demonstracji jej wykorzystania. Organizacje korzystające z podatnych komponentów powinny niezwłocznie sprawdzić swoje środowiska i zastosować poprawki.

Jakie oprogramowanie jest zagrożone?

Podatność dotyczy biblioteki Brotli w wersjach od 1.0.3 do 1.2.0. Nie oznacza to jednak, że wystarczy zaktualizować jedną instalację biblioteki w systemie. Wiele aplikacji i środowisk zawiera własną, dołączoną kopię Brotli.

Do produktów i ekosystemów, dla których opublikowano informacje o podatności, należą między innymi:

  • Node.js – środowisko uruchomieniowe zawierające dekoder Brotli.
  • Microsoft .NET – podatność dotyczy określonych wersji i ścieżek przetwarzania danych Brotli.
  • Python – między innymi pakiety Brotli oraz brotlicffi.
  • PowerShell 7, Visual Studio i Git for Windows – komponenty, w których również wykorzystywane są podatne biblioteki.
  • Inne produkty i usługi – lista może się zmieniać, ponieważ kolejni dostawcy identyfikują komponenty zawierające własne kopie dekodera.

W przypadku .NET ekspozycja zależy od sposobu użycia dekodera. Microsoft wskazuje między innymi na aplikacje korzystające z dekodowania Brotli w ASP.NET Core, automatycznego rozpakowywania odpowiedzi HTTP przez HttpClient lub API System.IO.Compression. Nie każda aplikacja .NET jest więc automatycznie podatna. Klasyczny .NET Framework dostarczany wraz z Windows nie został wskazany jako podatny na ten problem.

Dostępne poprawki i zalecane wersje

Dostawcy oprogramowania opublikowali poprawione wydania. W przypadku podstawowej biblioteki Brotli poprawki udostępniono w następujących wersjach:

KomponentWersja zawierająca poprawkę
Brotli1.0.10, 1.1.1 lub 1.2.1
Node.js 22.x22.23.4
Node.js 24.x24.22.1
Node.js 26.x26.12.1
Microsoft .NET 88.0.33
Microsoft .NET 99.0.22
Microsoft .NET 1010.0.14

W przypadku innych produktów należy sprawdzić komunikaty bezpieczeństwa ich producentów i zainstalować wydania zawierające zaktualizowaną bibliotekę Brotli. Dotyczy to również aplikacji, które dołączają własne kopie bibliotek lub działają w kontenerach.

Co powinni zrobić administratorzy?

  1. Zidentyfikować używane komponenty Brotli – sprawdzić wersje bibliotek, środowisk uruchomieniowych, zależności aplikacji i obrazów kontenerowych.
  2. Zaktualizować podatne oprogramowanie – zastosować poprawki udostępnione przez producentów, w pierwszej kolejności dla usług dostępnych z internetu.
  3. Przebudować aplikacje i obrazy kontenerów – jeżeli zawierają własne kopie podatnych bibliotek, aktualizacja systemowego pakietu może nie wystarczyć.
  4. Zweryfikować wdrożenie poprawek – sprawdzić faktycznie uruchomione wersje komponentów, a nie tylko pliki na serwerze lub konfigurację procesu budowania.
  5. Monitorować komunikaty producentów – lista produktów objętych podatnością i dostępność poprawek mogą się zmieniać.

Jeśli aktualizacja nie jest jeszcze dostępna, należy zastosować zalecane przez producenta środki ograniczające ryzyko. Jednym z tymczasowych rozwiązań może być wyłączenie dekodowania Brotli dla niezaufanych danych, o ile pozwala na to architektura aplikacji. Takie działanie nie zastępuje jednak instalacji poprawki.

Podsumowanie

CVE-2026-111497 pokazuje, jak poważne konsekwencje może mieć błąd w pozornie niewielkim, powszechnie wykorzystywanym komponencie. Brotli jest obecne w wielu środowiskach i aplikacjach, dlatego podatność nie ogranicza się do jednego produktu czy platformy.

Szczególnie istotne jest umieszczenie luki w katalogu CISA Known Exploited Vulnerabilities. Administratorzy nie powinni traktować jej wyłącznie jako teoretycznego zagrożenia ani odkładać aktualizacji na później. Konieczne jest sprawdzenie wszystkich komponentów wykorzystujących dekoder Brotli, w tym zależności dołączonych bezpośrednio do aplikacji i obrazów kontenerowych.


Źródła