CVE-2026-85078
ŚrednieCVSS 6.5Streszczenie
W Sanic w wersji 25.12.0 obsługa chunked-body w HTTP/1.1 nie zużywa w pełni części trailer po kończącym chunku zerowym przed ponownym użyciem bufora połączenia keep-alive. Zdalny, nieuwierzytelniony klient może umieścić kontrolowane bajty w obszarze trailer, które Sanic zinterpretuje jako ukryte drugie żądanie. Umożliwia to przemyt żądań HTTP (request smuggling), gdy Sanic działa za pośrednikami.
Ocena ryzyka
Podatność może pozwolić atakującemu na ominięcie kontroli bezpieczeństwa pośredników, takich jak WAF czy proxy, i dotarcie do wewnętrznych zasobów. Może to prowadzić do nieautoryzowanego dostępu lub zatrucia pamięci podręcznej.
Rekomendacja
Zaktualizuj Sanic do wersji 25.12.1 lub nowszej. Do czasu aktualizacji rozważ ograniczenie zaufania do nagłówków przekazywanych przez pośredników.
Inne podatności w Sanic
Zobacz wszystkie- CVE-2026-85077Wysokie
Sanic to otwartoźródłowy serwer/framework Pythona. W wersjach przed 24.12.1 oraz w wersji 25.12.0 pipeline odpowiedzi HTTP/1.1 w sanic/response/types.py serializuje nazwy i wartości nagłówków bez odrzucania znaków CR/LF. Aplikacje umieszczające dane kontrolowane przez atakującego w response.headers, file(..., filename=...) lub atrybutach path i domain ciasteczek mogą emitować wstrzyknięte nagłówki i dzielić odpowiedzi, co może umożliwić session fixation, cache poisoning lub uszkodzenie nagłówków bezpieczeństwa.
- CVE-2017-16762Wysokie
Sanic w wersjach przed 0.5.1 umożliwia odczyt dowolnych plików poprzez atak typu directory traversal, co zostało zademonstrowane przez użycie podciągu /static/..%2f.
Oryginalny opis (angielski, źródło NVD)
Sanic is an opensource python web server/framework. In version 25.12.0, Sanic's core HTTP/1.1 chunked-body handling does not fully consume the trailer-part after the terminating zero chunk before reusing the keep-alive connection buffer. A remote unauthenticated client can place attacker-controlled bytes in that trailer region, causing Sanic to parse and route them as a hidden second request after the outer request. This breaks HTTP request-boundary integrity and can provide a request-smuggling primitive when Sanic is deployed behind intermediaries. This issue is fixed in version 25.12.1.

