Nieprawidłowe przetwarzanie żądań HTTP w bibliotece Pallets Werkzeug umożliwia atakującym przeprowadzenie ataku HTTP Request Smuggling. Podatność oceniona jako krytyczna (CVSS 9.8) może skutkować kompromitacją poufności, integralności i dostępności systemu.
▸ Pokaż oryginał (EN)
Improper parsing of HTTP requests in Pallets Werkzeug v2.1.0 and below allows attackers to perform HTTP Request Smuggling using a crafted HTTP request with multiple requests included inside the body. NOTE: the vendor's position is that this behavior can only occur in unsupported configurations involving development mode and an HTTP server from outside the Werkzeug project
Atakujący wysyła specjalnie spreparowane żądanie HTTP zawierające wiele zagnieżdżonych żądań wewnątrz treści (body) jednego żądania. Błędna logika parsowania w Werkzeug powoduje, że serwer HTTP niepoprawnie interpretuje granice między żądaniami, co prowadzi do ataku HTTP Request Smuggling (CWE-444). Według producenta podatność może być wyzwolona wyłącznie w nieobsługiwanych konfiguracjach, tj. gdy Werkzeug działa w trybie deweloperskim w połączeniu z zewnętrznym serwerem HTTP spoza projektu Werkzeug.
Skuteczny atak może pozwolić atakującemu na obejście mechanizmów bezpieczeństwa, przechwycenie lub manipulację żądaniami innych użytkowników, a także potencjalnie uzyskanie nieautoryzowanego dostępu do chronionych zasobów aplikacji.
Należy zaktualizować Werkzeug do wersji wyższej niż 2.1.0. Dostępna poprawka opublikowana w repozytorium projektu (commit 9a3a981d70d2e9ec3344b5192f86fcaf3210cd85). Dodatkowo należy unikać uruchamiania Werkzeug w trybie deweloperskim w środowiskach produkcyjnych oraz nie łączyć go z zewnętrznymi serwerami HTTP spoza projektu Werkzeug.
Pallets Werkzeug w wersji 2.1.0 i niższych, używanych w nieobsługiwanych konfiguracjach z trybem deweloperskim i zewnętrznym serwerem HTTP spoza projektu Werkzeug
Producent (Pallets) zaznacza, że podatność dotyczy wyłącznie nieobsługiwanych konfiguracji — trybu deweloperskiego w połączeniu z serwerem HTTP spoza ekosystemu Werkzeug. Oznacza to, że prawidłowo skonfigurowane środowiska produkcyjne nie są narażone na ten wektor ataku.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPalletsprojects Werkzeug
APPPalletsprojects≤ 2.1.0
Powiązane podatności
Werkzeug is a comprehensive WSGI web application library. The debugger in affected versions of Werkzeug can al...
Werkzeug is a comprehensive WSGI web application library. In versions on the 3.x branch prior to 3.0.1 and on ...
Werkzeug is a comprehensive WSGI web application library. Prior to version 2.2.3, Werkzeug's multipart form da...
Pallets Werkzeug before 0.15.3, when used with Docker, has insufficient debugger PIN randomness because Docker...
In Pallets Werkzeug before 0.15.5, SharedDataMiddleware mishandles drive names (such as C:) in Windows pathnam...