
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Apache HTTP Server otrzymał poprawki bezpieczeństwa usuwające kilka podatności, z których najpoważniejsza została oznaczona jako CVE-2026-23918. Problem dotyczy obsługi protokołu HTTP/2 w module mod_http2 i został sklasyfikowany jako błąd typu double free. Tego rodzaju podatność pojawia się wtedy, gdy ten sam obszar pamięci zostaje zwolniony więcej niż raz, co może skutkować awarią procesu, naruszeniem integralności pamięci, a w określonych warunkach również wykonaniem kodu.
W skrócie
CVE-2026-23918 dotyczy Apache HTTP Server 2.4.66 i została naprawiona w wersji 2.4.67. Luka występuje w ścieżce przetwarzania i sprzątania strumieni HTTP/2 w mod_http2. Atakujący może wywołać błąd zdalnie, bez uwierzytelnienia, doprowadzając co najmniej do odmowy usługi. W określonych środowiskach, zwłaszcza przy specyficznym zachowaniu alokatora pamięci APR, możliwy jest także scenariusz prowadzący do zdalnego wykonania kodu. Problem nie dotyczy konfiguracji opartych o MPM prefork, natomiast jest istotny dla wdrożeń wielowątkowych korzystających z HTTP/2.
- Podatność: CVE-2026-23918
- Produkt: Apache HTTP Server
- Moduł:
mod_http2 - Wersja podatna: 2.4.66
- Wersja naprawiona: 2.4.67
- Główne ryzyko: zdalny DoS, potencjalnie także RCE
Kontekst / historia
Podatność została ujawniona w ramach pakietu poprawek bezpieczeństwa opublikowanych przez Apache Software Foundation dla gałęzi 2.4. Z oficjalnych informacji wynika, że błąd wpływa wyłącznie na wersję 2.4.66, a poprawka została dostarczona w wydaniu 2.4.67 opublikowanym 4 maja 2026 roku. W zgłoszeniu wskazano, że problem został odkryty i zaraportowany przez badaczy Bartłomieja Dmitruka ze striga.ai oraz Stanisława Strzałkowskiego z ISEC.pl.
Znaczenie tej podatności zwiększa fakt, że mod_http2 jest szeroko stosowany w nowoczesnych wdrożeniach serwerów WWW, a HTTP/2 pozostaje standardem w środowiskach produkcyjnych wymagających wysokiej wydajności i multipleksowania połączeń. Oznacza to, że nawet pojedynczy błąd logiczny w obsłudze strumieni może przekładać się na realne ryzyko dla infrastruktury internetowej.
Analiza techniczna
Sednem CVE-2026-23918 jest podwójne zwolnienie pamięci w module mod_http2, a dokładniej w logice porządkowania strumieni po stronie serwera. Scenariusz aktywacji błędu obejmuje wysłanie przez klienta ramki HEADERS, a następnie natychmiastowego RST_STREAM z niezerowym kodem błędu dla tego samego strumienia, zanim multiplekser zdąży w pełni zarejestrować ten strumień.
W takim przebiegu dwa różne callbacki biblioteki odpowiedzialnej za obsługę HTTP/2 mogą uruchomić sekwencję prowadzącą do tej samej procedury czyszczenia zasobu. W efekcie ten sam wskaźnik do struktury h2_stream zostaje dodany dwukrotnie do kolejki przeznaczonej do zwolnienia. Gdy później mechanizm czyszczący iteruje po tej kolejce i wywołuje niszczenie obiektu oraz jego puli pamięci, druga operacja trafia na pamięć, która została już wcześniej zwolniona.
Z perspektywy bezpieczeństwa najłatwiejszym skutkiem jest awaria procesu roboczego, czyli klasyczny DoS. W środowiskach wielowątkowych z aktywnym mod_http2 taki atak może być relatywnie prosty do utrzymania, ponieważ nie wymaga uwierzytelnienia, specjalnych nagłówków ani konkretnego zasobu aplikacyjnego. W praktyce wystarcza odpowiednio przygotowana sekwencja ramek HTTP/2 w ramach jednego połączenia TCP.
Bardziej zaawansowany scenariusz dotyczy potencjalnego RCE. Według opisu badaczy możliwość wykonania kodu zależy od warunków pamięciowych, w tym od użycia alokatora mmap w Apache Portable Runtime. W takim modelu możliwe jest ponowne wykorzystanie zwolnionego obszaru pamięci i podstawienie kontrolowanych danych w miejsce usuniętej struktury. To nie jest scenariusz trywialny, ale pokazuje, że podatność nie ogranicza się wyłącznie do destabilizacji usługi, lecz może prowadzić do pełnej kompromitacji procesu serwera.
Konsekwencje / ryzyko
Najbardziej bezpośrednim skutkiem CVE-2026-23918 jest zdalna odmowa usługi. W środowiskach produkcyjnych oznacza to możliwość cyklicznego wywoływania awarii workerów obsługujących ruch HTTP/2, co przekłada się na przerywanie sesji użytkowników, błędy aplikacyjne i degradację dostępności usług.
Ryzyko rośnie w infrastrukturze o wysokim natężeniu ruchu, gdzie restart procesów roboczych nie musi być natychmiast zauważalny, a krótkotrwałe awarie mogą zostać błędnie zinterpretowane jako problemy wydajnościowe. Dodatkowo atak nie wymaga logowania ani dostępu do aplikacji, więc powierzchnia ataku obejmuje publicznie dostępne serwery HTTP/2.
W wariancie bardziej krytycznym możliwe jest przejście od błędu pamięci do zdalnego wykonania kodu. Choć taki łańcuch wymaga spełnienia dodatkowych warunków i większej precyzji po stronie napastnika, sam fakt istnienia wiarygodnej ścieżki eksploatacji oznacza wysoki priorytet dla zespołów odpowiedzialnych za utrzymanie infrastruktury internetowej. Dla organizacji oznacza to ryzyko przejęcia procesu serwera, dalszego ruchu lateralnego, modyfikacji treści aplikacji lub użycia hosta jako punktu wejścia do kolejnych etapów ataku.
Rekomendacje
Podstawowym działaniem naprawczym jest natychmiastowa aktualizacja Apache HTTP Server do wersji 2.4.67 lub nowszej. Organizacje korzystające z wersji 2.4.66 powinny potraktować tę aktualizację jako pilną.
Z perspektywy operacyjnej warto wykonać następujące kroki:
- zidentyfikować wszystkie instancje Apache HTTP Server korzystające z
mod_http2, - potwierdzić wersję binariów w systemach produkcyjnych, kontenerach i obrazach bazowych,
- przeprowadzić restart usług po aktualizacji oraz zweryfikować załadowane moduły,
- przeanalizować konfigurację MPM i określić, czy środowisko używa modelu wielowątkowego,
- monitorować logi awarii procesów potomnych, nieoczekiwane restarty workerów oraz anomalie w sesjach HTTP/2,
- wdrożyć reguły wykrywania nietypowych sekwencji ramek HTTP/2, jeśli infrastruktura reverse proxy lub WAF umożliwia taką inspekcję.
Jeżeli natychmiastowa aktualizacja nie jest możliwa, działaniem tymczasowym może być ograniczenie lub wyłączenie HTTP/2 tam, gdzie nie jest to krytyczne biznesowo. Taki krok należy jednak traktować wyłącznie jako środek przejściowy, a nie trwałe rozwiązanie problemu.
W środowiskach kontenerowych istotne jest również sprawdzenie oficjalnych oraz wewnętrznych obrazów, ponieważ podatne komponenty mogą pozostawać obecne nawet po aktualizacji systemu hosta. W praktyce skuteczna remediacja powinna obejmować pełny łańcuch dostarczania oprogramowania, a nie tylko pojedyncze serwery.
Podsumowanie
CVE-2026-23918 to krytyczna podatność w Apache HTTP Server związana z obsługą HTTP/2 i błędem double free w mod_http2. Problem wpływa na wersję 2.4.66 i został usunięty w 2.4.67. Najbardziej prawdopodobnym skutkiem jest zdalny DoS, ale dostępne informacje wskazują również na realistyczny, choć bardziej złożony, scenariusz RCE. Dla administratorów i zespołów bezpieczeństwa oznacza to konieczność szybkiego patchowania, przeglądu konfiguracji HTTP/2 oraz monitorowania infrastruktury pod kątem oznak eksploatacji.
Źródła
- Critical Apache HTTP/2 Flaw (CVE-2026-23918) Enables DoS and Potential RCE — https://thehackernews.com/2026/05/critical-apache-http2-flaw-cve-2026.html
- Apache HTTP Server 2.4 vulnerabilities — https://httpd.apache.org/security/vulnerabilities_24.html
- CVE-2026-23918 — CVE Program — https://www.cve.org/CVERecord?id=CVE-2026-23918