CVE-2026-48512
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do zainicjowania ataku, który prowadzi do awarii aplikacji, co może skutkować przestojem i utratą dostępności usług.
Rekomendacja
Zaleca się aktualizację do wersji 2.5.301 lub 3.1.7, aby usunąć tę podatność oraz wdrożenie monitorowania i ograniczeń dotyczących głębokości przetwarzania danych wejściowych.
Oryginalny opis (angielski, źródło NVD)
MessagePack for C# is a MessagePack serializer for C#. Prior to 2.5.301 and 3.1.7, MessagePack-CSharp's JSON conversion helpers contain multiple recursion paths that do not consistently enforce a depth limit. These paths are in the JSON conversion component rather than normal typed MessagePack deserialization. MessagePackSerializer.ConvertFromJson recursively processes nested JSON arrays and objects in FromJsonCore() without consulting MessagePackSecurity.MaximumObjectGraphDepth. TinyJsonReader.ReadNextToken() recursively consumes comma and colon separator characters, allowing even malformed JSON with long separator runs to consume one stack frame per character. MessagePackSerializer.ConvertToJson applies depth checks to arrays and maps, but the typeless extension branch for ext-100 recursively calls ToJsonCore() without applying MessagePackSecurity.DepthStep(ref reader). Each path can allow attacker-controlled input to exhaust the process stack and trigger an uncatchable StackOverflowException instead of failing with a catchable parse or serialization exception. This vulnerability is fixed in 2.5.301 and 3.1.7.

