CVE-2026-57577
WysokieCVSS 8.2Streszczenie
W frameworku DotVVM przed wersjami 4.2.11, 4.3.15 i 5.0.0-preview09-final trasa zawierająca wiele nieograniczonych parametrów w jednym segmencie ścieżki może powodować nadmierne cofanie się wyrażenia regularnego w DotvvmRoute.IsMatch przy długiej ścieżce bliskiej dopasowania. Brak limitu czasu w DotvvmRouteParser.RouteRegex prowadzi do wyczerpania zasobów.
Ocena ryzyka
Zdalny atakujący może wysyłać specjalnie spreparowane żądania, powodując wysokie zużycie CPU i potencjalny paraliż aplikacji (denial of service).
Rekomendacja
Zaktualizuj DotVVM do wersji 4.2.11, 4.3.15 lub 5.0.0-preview09-final, które wprowadzają limit czasu i silnik niedokonujący cofania.
Inne podatności w DotVVM
Zobacz wszystkie- CVE-2026-57581Średnie
DotVVM przed wersjami 4.2.11, 4.3.15 i 5.0.0-preview09-final pozwala nieuwierzytelnionym użytkownikom na przesyłanie plików bezpośrednio do DotvvmFileUploadMiddleware bez tokenu X-DotVVM-UploadToken generowanego przez komponent FileUpload. Atakujący może wielokrotnie przesyłać pliki i wypełnić pamięć aplikacji, powodując denial of service. Opcja DotvvmConfiguration.Security.AuthorizeFileUpload może dodatkowo ograniczyć, którzy użytkownicy mogą przesyłać pliki.
- CVE-2026-57578Krytyczne
DotVVM to otwartoźródłowy framework MVVM dla aplikacji webowych. W wersjach przed 4.2.11, 4.3.15 i 5.0.0-preview09-final filtr AuthorizeActionFilter nie wykonuje żadnej autoryzacji, ponieważ jego implementacje OnCommandExecutingAsync, OnViewModelCreatedAsync i OnPresenterExecutingAsync zwracają zakończone zadania zamiast wywoływać odpowiednie sprawdzenia. Aplikacje polegające na tym filtrze mogą ujawnić chronione komendy, modele widoków lub prezentery nieautoryzowanym żądaniom bez żadnej specjalnej techniki obejścia.
Oryginalny opis (angielski, źródło NVD)
DotVVM is an open source MVVM framework for web applications. Prior to 4.2.11, 4.3.15, and 5.0.0-preview09-final, a route containing multiple unconstrained parameters in one path segment can cause excessive regular-expression backtracking in DotvvmRoute.IsMatch when a remote requester supplies a long near-match path. DotvvmRouteParser.RouteRegex previously had no matching timeout. Patched runtimes retry with the .NET non-backtracking engine, while runtimes that do not support non-backtracking matching return HTTP 503 after the one-second timeout in DotvvmRoutingMiddleware. This issue is fixed in versions 4.2.11, 4.3.15, and 5.0.0-preview09-final.

