CVE-2017-20285
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
YAML przed wersją 1.30 dla Perla pozwala załadowanemu dokumentowi na wywołanie metody DESTROY dowolnych klas. Tag perl/hash:Class tworzy obiekt hash w klasie, a Perl wywołuje DESTROY, gdy obiekt wychodzi z zakresu.
Ocena ryzyka
Atakujący może wykorzystać metodę DESTROY klas takich jak File::Temp::Dir do usunięcia drzewa katalogów, co może prowadzić do utraty danych lub zakłócenia działania usług.
Rekomendacja
Zaktualizuj YAML do wersji 1.30 lub nowszej i nie przetwarzaj niezaufanych dokumentów YAML.
Inne podatności w YAML
Zobacz wszystkie- CVE-2026-33532Średnie
W bibliotece yaml w gałęzi 1.x przed 1.10.3 oraz 2.x przed 2.8.3 parsowanie dokumentu YAML może rzucić RangeError z powodu przepełnienia stosu. Faza rozwiązywania i komponowania węzłów używa rekurencyjnych wywołań funkcji bez ograniczenia głębokości. Atakujący mogący dostarczyć YAML do parsowania może wywołać RangeError: Maximum call stack size exceeded małym ładunkiem (~2–10 KB). RangeError nie jest YAMLParseError, więc aplikacje łapiące tylko błędy specyficzne dla YAML napotkają nieoczekiwany typ wyjątku, co w zależności od obsługi wyjątków może powodować błędy żądań lub zakończenie procesu Node.js.
- CVE-2019-25777Wysokie
YAML przed wersją 1.27_001 dla Perla pozwala załadowanemu dokumentowi perl/glob na zastąpienie dowolnej zmiennej pakietu, co może prowadzić do wykonania dowolnego kodu. Dokument może ustawić opcje ładowania kodu, które są domyślnie wyłączone.
Oryginalny opis (angielski, źródło NVD)
YAML versions before 1.30 for Perl allow a loaded document to trigger the DESTROY method of arbitrary classes. A perl/hash:Class tag blesses a hash into the class it names. The document supplies the object's fields, and Perl calls DESTROY when it goes out of scope. What DESTROY does depends on the classes the process has loaded. With File::Temp::Dir from core Perl, it can delete a directory tree the document names.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

