Katalog CVE

CVE-2026-114142

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.32%

Percentyl 23 - wyżej niż 23% wszystkich znanych CVE

Streszczenie

toml-node to parser TOML dla Node.js i przeglądarki. Przed wersją 5.0.1 funkcja toml.parse() może zapisywać kontrolowane przez atakującego właściwości do Object.prototype, ponieważ quoteDottedString() w lib/compiler.js tworzy ten sam ciąg księgowania dla różnych ścieżek kluczy w cudzysłowach, co pozwala addTableArray() wyczyścić zabezpieczenie innego klucza. Ścieżka assign() schodzi następnie przez nieposiadaną wartość Date bez zastosowania sprawdzenia posiadanego kontenera i może dotrzeć do łańcucha prototypów. Obiekty utworzone w innym miejscu procesu mogą odziedziczyć wstrzykniętą właściwość. Podatność naprawiono w wersji 5.0.1.

Ocena ryzyka

Atakujący może wstrzyknąć właściwości do prototypu obiektów, co może prowadzić do zatrucia prototypu i nieprzewidzianego zachowania aplikacji, w tym potencjalnego wykonania kodu.

Rekomendacja

Zaktualizuj toml-node do wersji 5.0.1 lub nowszej i unikaj parsowania niezaufanych danych TOML w kontekstach o wysokich uprawnieniach.

Inne podatności w toml-node

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

toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() can write attacker-controlled properties to Object.prototype because quoteDottedString() in lib/compiler.js produces the same bookkeeping string for distinct quoted key paths, allowing addTableArray() to clear another key's guard. The assign() path then descends through an unowned Date value without applying the owned-container check and can reach the prototype chain. Objects created elsewhere in the process can inherit the injected property. This issue is fixed in version 5.0.1.

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