Katalog CVE

CVE-2026-104183

ŚrednieCVSS 5.1
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

stream-json to mikro-biblioteka komponentów strumieniowych do przetwarzania JSON i JSONC o minimalnym zużyciu pamięci. Przed wersją 3.6.0, Assembler materializuje właściwości obiektów przez zwykłe przypisanie, więc klucz wejściowy o nazwie __proto__ wywołuje dziedziczony setter i powoduje zastąpienie prototypu przetwarzanego obiektu zamiast utworzenia własnej właściwości danych. Aplikacje, które podejmują decyzje autoryzacyjne lub funkcjonalne na podstawie dziedziczonych wartości, mogą korzystać z właściwości kontrolowanych przez atakującego, a null prototype może zakłócić działanie kodu oczekującego metod Object.prototype. Badacz traktuje parsowanie niezaufanego JSON jako część kontraktu projektu, podczas gdy opiekun stwierdza, że udokumentowane wejścia to lokalnie posiadane zrzuty, eksporty lub logi i charakteryzuje wektor ataku jako lokalny. Globalny Object.prototype nie jest zanieczyszczony. Problem został naprawiony w wersji 3.6.0.

Ocena ryzyka

Jeśli aplikacja przetwarza niezaufane dane JSON, atakujący może wpłynąć na decyzje autoryzacyjne lub spowodować błędy działania, co może prowadzić do naruszenia bezpieczeństwa lub stabilności aplikacji.

Rekomendacja

Należy zaktualizować bibliotekę stream-json do wersji 3.6.0 lub nowszej, aby wyeliminować podatność.

Inne podatności w stream-json

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. Prior to 3.6.0, Assembler materializes object properties with plain assignment, so an input key named __proto__ invokes the inherited setter and causes parsed object prototype replacement instead of creating an own data property. Applications that make authorization or feature decisions from inherited values can therefore consume attacker-controlled properties, and a null prototype can disrupt code that expects Object.prototype methods. The researcher treats parsing untrusted JSON as part of the project contract, while the maintainer states that documented inputs are locally owned dumps, exports, or logs and characterizes the attack vector as local. The global Object.prototype is not polluted. This issue is fixed in version 3.6.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS