Mega Sekurak Hacking Party w Krakowie! 26-27.10.2026 r.

QNAP ostrzega o… krytycznej podatności w ASP.NET

31 października 2025, 04:55 | W biegu | 0 komentarzy

Kestrel to domyślny i lekki serwer HTTP wykorzystywany przez aplikacje w technologii ASP.NET Core. Do jego zalet można zaliczyć między innymi wieloplatformowość i wydajność. Dokładając do tego fakt, że jest to rozwiązanie dostępne “z pudełka”, otrzymujemy bardzo popularną zależność (od angielskiego dependency). Duża popularność tego rozwiązania, powoduje że atakujący stosunkowo szybko będą starali się uzbroić podatności pozwalające na atakowanie szerokiego spektrum celów. Tak też dzieje się tym razem. 

TLDR:

  • QNAP poinformował swoich użytkowników o konieczności aktualizacji ASP.NET Core, ponieważ wykorzystywany serwer Kestrel zawiera poważną (momentami krytyczną) podatność.
  • Ujawniony request smuggling został przez Microsoft poprawiony w kolejnych wydaniach, a informacja o podatności została podana do informacji publicznej w połowie października 2025. 
  • Ponieważ krytyczność luki jest duża, a agent służący do tworzenia backupów korzysta z podatnego komponentu – producent zdecydował się poinformować użytkowników o konieczności aktualizacji.

Podatność o której mowa, w biuletynie bezpieczeństwa QNAPa, została oznaczona jako CVE-2025-55315 i otrzymała wycenę 9.9 w skali CVSS 3.1 (więc jest to krytyczna luka). Jak mówi tytuł powyższego wpisu, błąd nie znajduje się w samej implementacji produktu firmy QNAP. Wykorzystywany przez NetBak PC Agent, który jest oprogramowaniem do robienia kopii zapasowych, komponent wykorzystuje serwer HTTP – Kestrel w wersji podatnej na request smuggling

Podatność ta występuje najczęściej wtedy gdy do przetwarzania zapytania wykorzystywane są dwa komponenty, które parsują wiadomość HTTP w delikatnie inny sposób. Różnica pozwala przesłać zapytanie, które z punktu widzenia frontendowej części (np. WAFa albo proxy) będzie stanowiło pojedynczy request wysyłany do aplikacji. Tymczasem backendowy system potraktuje przesyłane dane jako dwa oddzielne zapytania HTTP. Dzięki temu możliwe jest omijanie filtrów, obejście uwierzytelniania, eksfiltracja danych i wiele wiele innych. 

Do podatnych wersji należy zaliczyć:

  • ASP.NET Core 10.0 RC1 (zalecana aktualizacja do RC2)
  • ASP.NET Core 8.0 <= 8.0.20 (zalecana aktualizacja do 8.0.21)
  • ASP.NET Core 9.0 <= 9.0.9 (zalecana aktualizacja do 9.0.10)
  • Kestrel.Core <= 2.3.0 (zalecana aktualizacja do 2.3.6)

W Internecie pojawiły się już między innymi PoC oraz szablony nuclei, które pozwalają na automatyczną weryfikację podatności.

Zalecanym krokiem naprawczym jest oczywiście aktualizacja. Tutaj chcielibyśmy przypomnieć, że nie zawsze aktualizacja samej aplikacji wystarczy, ponieważ w modelu framework-dependent korzystają z Kestrela ze środowiska .NET i to wtedy ten komponent wymaga aktualizacji. 

Uwagi może wzbudzać wycena podatności, z jednej strony należy wziąć poprawkę na niedoskonałości modelu CVSS, z drugiej strony jak tłumaczy to użytkownik blowdart1 (Barry Dorrans) zajmujący się bezpieczeństwem .NET w Microsoft – producent zakłada najgorszy możliwy scenariusz, w tym przypadku zmianę kontekstu podczas ataku – aczkolwiek prawdziwy wpływ podatności zależy od sposobu implementacji aplikacji. 

> But we don’t know what’s possible because it’s dependent on how you’ve written your app.

> Thus, we score with the worst possible case in mind, a security feature bypass which changes scope.

Taki stan rzeczy (czyli możliwość wystąpienia najgorszego możliwego scenariusza) chociaż jest brany pod uwagę, to jednak mało prawdopodobny (co podkreśla sam Microsoft). Niemniej jednak jak zwykle w takim przypadku zalecamy aktualizację. Cieszymy się, że producent innego produktu zauważył (czyżby korzystanie z SBOM oraz analizy zależności stało się normą) zagrożenie i poinformował swoich użytkowników. 

~Black Hat Logan

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz