Biblioteka TOML::XS w wersjach przed 0.06 dla języka Perl zawiera nieaktualizowaną i podatną wersję biblioteki tomlc99, która nie jest już utrzymywana. Przetwarzanie niezaufanych danych TOML może prowadzić do przepełnienia stosu (stack overflow) poprzez głęboko zagnieżdżone dokumenty.
▸ Pokaż oryginał (EN)
TOML::XS versions before 0.06 for Perl bundle an unsupported and vulnerable version of tomlc99. The tomlc99 library is no longer maintained, and has an uncontrolled recursion vulnerability publicly reported in the issue tracker. Any caller that passes untrusted TOML to from_toml risks a stack overflow from a deeply-nested document. TOML::XS version 0.06 or later uses the successor tomlc17 library.
Podatność wynika z niekontrolowanej rekurencji (CWE-1104) w dołączonej bibliotece tomlc99, która nie jest już wspierana przez jej autora. Atakujący może spreparować dokument TOML z ekstremalnie głęboko zagnieżdżoną strukturą i przekazać go do funkcji from_toml. Parser rekurencyjnie przetwarza kolejne poziomy zagnieżdżenia bez odpowiednich ograniczeń głębokości, co prowadzi do wyczerpania przestrzeni stosu i awaryjnego zakończenia procesu.
Atakujący może zdalnie doprowadzić do awarii (crash) aplikacji przetwarzającej niezaufany dokument TOML, skutkując odmową usługi (DoS). Wysoki poziom CVSS (9.8) sugeruje również potencjalny wpływ na poufność i integralność danych, zgodnie z wektorem ataku.
Należy zaktualizować TOML::XS do wersji 0.06 lub nowszej, która zastępuje podatną bibliotekę tomlc99 jej następcą — tomlc17. Aktualizacja dostępna jest poprzez CPAN pod adresem wskazanym w referencjach producenta.
TOML::XS dla Perl we wszystkich wersjach przed 0.06
Podatność w tomlc99 była publicznie zgłoszona w systemie śledzenia błędów tej biblioteki (issue tracker). Wersja 0.06 biblioteki TOML::XS migruje do aktywnie utrzymywanej biblioteki tomlc17.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H