CVE-2026-92707
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 50 - wyżej niż 50% wszystkich znanych CVE
Streszczenie
MessagePack for C# to serializator MessagePack dla języka C#. W wersjach przed 2.5.303 i 3.1.9 deserializacja danych kontrolowanych przez atakującego jako System.Object przez PrimitiveObjectFormatter może powodować nadmierną alokację pamięci. Formatter alokuje tablicę object[] na podstawie zadeklarowanej długości przed odrzuceniem przez limit głębokości, a zagnieżdżone nagłówki tablic mogą ponownie wykorzystać te same nieprzeczytane bajty, co pozwala na utrzymanie wielu dużych tablic jednocześnie.
Ocena ryzyka
Atakujący może wielokrotnie przesyłać takie dane, powodując poważne obciążenie sterty, nadmierne odśmiecanie, zakończenie procesu lub utratę usługi. Wymaga to aplikacji deserializującej niezaufane dane przez podatny formatter.
Rekomendacja
Zaktualizuj MessagePack for C# do wersji 2.5.303 lub 3.1.9 (lub nowszej), które naprawiają tę podatność.
Inne podatności w MessagePack for C#
Zobacz wszystkie- CVE-2026-48509Krytyczne
MessagePack dla C# przed wersjami 2.5.301 i 3.1.7 używa domyślnych opcji serializacji, które mogą prowadzić do ataków typu denial-of-service. Domyślny konstruktor MessagePackInputFormatter() jest niebezpieczny, ponieważ może narażać aplikacje na ataki kolizji haszy w modelach przypominających słowniki.
- CVE-2026-48517Wysokie
W bibliotece MessagePack dla C# występuje podatność związana z deserializacją typów, która nie sprawdza rekurencyjnie typów elementów tablicy ani argumentów typów generycznych. To może prowadzić do sytuacji, w której niebezpieczny typ, który powinien być zablokowany, może zostać zdeserializowany, jeśli jest opakowany w tablicę lub typ generyczny.
- CVE-2026-48516Wysokie
W bibliotece MessagePack dla C# występuje podatność, która dotyczy konstrukcji wewnętrznego słownika z domyślnym porównywaczem równości. Wersje przed 2.5.301 i 3.1.7 są narażone na atak typu denial of service z wykorzystaniem kolizji haszów.
- CVE-2026-48515Wysokie
MessagePack dla C# przed wersjami 2.5.301 i 3.1.7 ma podatność, która pozwala na alokację dużych tablic wielowymiarowych przed walidacją danych. W wyniku tego, mały ładunek może zadeklarować duże wymiary, co prowadzi do nieefektywnego wykorzystania pamięci.
- CVE-2026-48514Wysokie
W bibliotece MessagePack dla C# przed wersjami 2.5.301 i 3.1.7 występuje podatność, która pozwala na odczytanie długości bajtów kontrolowanej przez atakującego z ładunku rozszerzenia. W wyniku tego, możliwe jest przydzielenie dużej tablicy T[] bez odpowiedniej walidacji, co może prowadzić do problemów z alokacją pamięci.
- CVE-2026-48513Wysokie
W bibliotece MessagePack dla C# przed wersjami 2.5.301 i 3.1.7 występuje podatność związana z deserializacją unii, która nie przestrzega ograniczenia głębokości obiektów. Deserializatory generowane w czasie wykonywania nie wywołują odpowiednich kroków zabezpieczających, co prowadzi do potencjalnych problemów z bezpieczeństwem.
- CVE-2026-48512Wysokie
MessagePack for C# przed wersjami 2.5.301 i 3.1.7 zawiera wielokrotne ścieżki rekurencyjne w komponentach konwersji JSON, które nie egzekwują limitu głębokości. Te ścieżki mogą prowadzić do wyczerpania stosu procesora i wywołania nieuchwytnego wyjątku StackOverflowException.
- CVE-2026-48511Wysokie
MessagePack dla C# ma podatność w metodzie Deserializacji ExpandoObjectFormatter, która może prowadzić do znacznego obciążenia CPU i pamięci w przypadku dużych map kontrolowanych przez atakującego. Problem ten występuje przed wersjami 2.5.301 i 3.1.7.
- CVE-2026-48510Wysokie
MessagePack dla C# ma podatność, która pozwala na nieprawidłowe alokacje pamięci podczas dekompresji danych Lz4Block lub Lz4BlockArray. Przed wersjami 2.5.301 i 3.1.7, nie weryfikowano poprawności danych skompresowanych przed alokacją buforów wyjściowych.
- CVE-2026-48506Wysokie
MessagePack dla C# ma podatność, która pozwala na rekurencyjne zstępowanie w głąb zagnieżdżonych tablic i map bez odpowiednich kontroli głębokości. Może to prowadzić do nieograniczonej rekurencji i wyjątku StackOverflow.
Oryginalny opis (angielski, źródło NVD)
MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.303 and 3.1.9, deserializing attacker-controlled MessagePack data as System.Object through PrimitiveObjectFormatter can cause excessive memory allocation. The formatter allocates an object[] from each declared array length before the configured object-graph depth limit rejects the input, while nested array headers can reuse the same trailing unread bytes to satisfy per-header length validation. A comparatively small payload can therefore keep many large arrays alive at once. When an attacker can submit such data repeatedly, the allocations can cause severe managed-heap pressure, excessive garbage collection, process termination, or loss of service. Exposure requires an application to deserialize untrusted data through the affected formatter path and permit repeated attacker-controlled submissions, such as a reachable ASP.NET Core SignalR hub method with an object parameter and AddMessagePackProtocol() enabled. This issue is fixed in versions 2.5.303 and 3.1.9.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

