CVE-2025-69227
WysokieStreszczenie
AIOHTTP w wersjach 3.13.2 i niższych zawiera podatność na nieskończoną pętlę, gdy asercje są pomijane (np. przy użyciu optymalizacji -O lub PYTHONOPTIMIZE=1). Atakujący może wykorzystać specjalnie spreparowaną wiadomość POST, aby wywołać atak DoS, jeśli aplikacja używa metody Request.post(). Problem został naprawiony w wersji 3.13.3.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku typu Denial of Service (DoS) na aplikację, co może prowadzić do niedostępności usługi dla użytkowników. Podatność wymaga specyficznych warunków (włączone optymalizacje i użycie Request.post()), ale może być wykorzystana zdalnie.
Rekomendacja
Zaleca się natychmiastową aktualizację AIOHTTP do wersji 3.13.3 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy unikać używania metody Request.post() lub wyłączyć optymalizacje Pythona (-O, PYTHONOPTIMIZE) w środowisku produkcyjnym.
Inne podatności w AIOHTTP
Zobacz wszystkie- CVE-2025-69228Wysokie
AIOHTTP, framework HTTP dla asyncio i Pythona, w wersjach 3.13.2 i niższych zawiera podatność umożliwiającą niekontrolowane zapełnienie pamięci serwera podczas przetwarzania specjalnie spreparowanego żądania. Jeśli aplikacja używa metody Request.post() w handlerze, atakujący może zamrozić serwer poprzez wyczerpanie pamięci. Problem został naprawiony w wersji 3.13.3.
- CVE-2026-69244Wysokie
AIOHTTP, asynchroniczny framework HTTP dla Pythona, przed wersją 3.14.3, zawiera podatność na odczyt poza zakresem sterty w parserze odpowiedzi C. Podczas budowania komunikatu błędu dla nieprawidłowej odpowiedzi, może dojść do odczytu poza zakresem, co może prowadzić do DoS w kliencie. Problem naprawiono w wersji 3.14.3.
- CVE-2026-69243Średnie
AIOHTTP przed wersją 3.14.2 zawiera podatność na przemycanie żądań (request smuggling) związaną z aktualizacją WebSocket. Żądanie aktualizacji WebSocket z ciałem może spowodować przełączenie protokołów przed otrzymaniem pełnego ciała żądania, pozostawiając końcowe bajty do obsłużenia jako dane protokołu uaktualnionego lub potokowane, a nie normalne dane HTTP.
- CVE-2026-59881Średnie
AIOHTTP przed 3.14.2 w kliencie WebSocket akceptuje i dekompresuje ramki z ustawionym bitem RSV1 nawet bez negocjacji rozszerzenia permessage-deflate. Złośliwy serwer może spowodować nieoczekiwane zużycie CPU i pamięci.
- CVE-2026-54277Wysokie
W bibliotece AIOHTTP przed wersją 3.14.1 wykryto podatność umożliwiającą ominięcie ograniczenia długości linii w żądaniach HTTP podczas korzystania z optymalizowanego parsera C. Atakujący może wysłać nadmiernie długie linie, co prowadzi do nadmiernego zużycia pamięci i potencjalnie do ataku typu DoS.
- CVE-2026-54276Średnie
W bibliotece AIOHTTP przed wersją 3.14.1 wykryto podatność, w której DigestAuthMiddleware może wysłać odpowiedź uwierzytelniającą po przekierowaniu między domenami. Atak wymaga podatności na otwarte przekierowanie w domenie docelowej, a atakujący może przechwycić jedynie skrót uwierzytelniający, co umożliwia kradzież poświadczeń tylko przy słabej kryptografii lub ponownym użyciu haseł.
- CVE-2026-47265Wysokie
W AIOHTTP przed wersją 3.14.0, ciasteczka ustawione parametrem `cookies` w żądaniu są wysyłane po przekierowaniu między domenami (cross-origin). Jeśli programista używa parametru `cookies` dla poszczególnych żądań, wrażliwe dane mogą wyciec do atakującego kontrolującego przekierowanie.
- CVE-2026-34993Średnie
AIOHTTP, asynchroniczny framework HTTP dla Pythona, przed wersją 3.14.0 zawiera podatność w funkcji CookieJar.load() umożliwiającą wykonanie dowolnego kodu przy użyciu niezaufanych danych wejściowych. Większość aplikacji używa tej funkcji z własnymi danymi, więc ryzyko jest niskie, ale w przypadku ładowania plików kontrolowanych przez atakującego może dojść do zdalnego wykonania kodu.
- CVE-2025-69223Wysokie
Podatność w frameworku AIOHTTP w wersjach 3.13.2 i niższych umożliwia atak typu zip bomb, który po dekompresji może doprowadzić do wyczerpania pamięci hosta i wykonania ataku DoS.
- CVE-2023-49081Wysokie
Podatność w aiohttp pozwala atakującemu na modyfikację żądania HTTP lub stworzenie nowego żądania, jeśli kontroluje wersję HTTP. Problem ten występuje tylko w przypadku, gdy atakujący ma możliwość kontrolowania wersji HTTP żądania.
Oryginalny opis (angielski, źródło NVD)
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Versions 3.13.2 and below allow for an infinite loop to occur when assert statements are bypassed, resulting in a DoS attack when processing a POST body. If optimizations are enabled (-O or PYTHONOPTIMIZE=1), and the application includes a handler that uses the Request.post() method, then an attacker may be able to execute a DoS attack with a specially crafted message. This issue is fixed in version 3.13.3.

