CVE-2026-59940
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 48 - wyżej niż 48% wszystkich znanych CVE
Streszczenie
Seroval przed wersją 1.5.3 umożliwia atakującemu kontrolowaną deserializację JSON, która może prowadzić do niepożądanych efektów ubocznych, a w połączeniu z frameworkami rejestrującymi wywoływalne wrappery – do niezamierzonego wykonania kodu po stronie serwera lub zdalnego wykonania kodu.
Ocena ryzyka
Potencjalne zdalne wykonanie kodu na serwerze, jeśli aplikacja korzysta z seroval z włączonymi wtyczkami i rejestruje wywoływalne wrappery.
Rekomendacja
Zaktualizuj seroval do wersji 1.5.3 lub nowszej.
Inne podatności w Seroval
Zobacz wszystkie- CVE-2026-104845Wysokie
Seroval przed wersją 1.6.3 ma podatność w deserializacji TypedArray, która pozwala atakującemu na podanie małego obiektu JSON z dużą wartością length, powodując nadmierną alokację pamięci i wyczerpanie zasobów CPU lub pamięci.
- CVE-2026-23956Wysokie
Seroval umożliwia konwersję wartości JS na ciągi, w tym złożone struktury, które wykraczają poza możliwości JSON.stringify. W wersjach od 0.2.0 do 1.4.0, nadpisanie serializacji RegExp z bardzo dużymi wzorcami może prowadzić do wyczerpania pamięci podczas deserializacji.
- CVE-2026-104846Krytyczne
Seroval od wersji 0.12.0 do 1.6.2 ma podatność w deserializacji fromJSON węzła kontrolnego spełnionej obietnicy (Promise), która może przekazać wyprodukowany przez plugin thenable z wywoływalną funkcją do natywnego resolvera Promise. Asymilacja thenable w ECMAScript wywołuje tę funkcję nieoczekiwanie, co pozwala sterowanemu przez atakującego JSON na wywołanie kodu w aplikacjach używających Seroval z pluginami. Ta ścieżka omija remediację typu Promise resolver w wersji 1.5.3 dla CVE-2026-59940, ponieważ nieoczekiwane wywołanie następuje przez natywne rozliczenie Promise po deserializacji odwołanej wartości. Problem został naprawiony w wersji 1.6.2.
Oryginalny opis (angielski, źródło NVD)
Seroval facilitates JS value stringification, including complex structures beyond JSON.stringify capabilities. Prior to 1.5.3, seroval.fromJSON() allows attacker-controlled JSON Promise control nodes to operate on values from the general deserialization reference table without verifying genuine internal Promise resolver records, causing deserialization side effects with plugins enabled and potentially unintended server-side invocation or remote code execution when downstream frameworks register callable wrappers. This issue is fixed in version 1.5.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

