CVE-2026-104845
WysokieCVSS 7.5Streszczenie
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.
Ocena ryzyka
Organizacja może doświadczyć ataku DoS, jeśli przetwarza niezaufane dane JSON przez Seroval, co może prowadzić do zawieszenia aplikacji lub wyczerpania zasobów.
Rekomendacja
Zaleca się aktualizację Seroval do wersji 1.6.3 lub nowszej oraz ograniczenie przetwarzania niezaufanych danych JSON.
Inne podatności w Seroval
Zobacz wszystkie- 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.
- CVE-2026-59940Krytyczne
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.
Oryginalny opis (angielski, źródło NVD)
Seroval facilitates JS value stringification, including complex structures beyond JSON.stringify capabilities. Prior to 1.6.3, deserializeTypedArray in fromJSON and fromCrossJSON trusts a deserialized source value as an ArrayBuffer and does not bound the serialized element count. An attacker can provide a small untrusted JSON object with a large length value, causing the array-like TypedArray constructor to synchronously allocate the selected number of elements and exhaust CPU or memory while starving the event loop. The offset check does not reject the crafted source because source.byteLength is undefined. DataView reaches a similar unchecked cast but throws rather than allocating, and the issue has no identified confidentiality or integrity impact. This issue is fixed in version 1.6.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

