Biblioteka YAML::Syck w wersjach do 1.36 dla języka Perl zawiera krytyczny heap buffer overflow w emiterze YAML oraz kilka dodatkowych podatności związanych z zarządzaniem pamięcią. Podatności te mogą prowadzić do ujawnienia danych lub awarii aplikacji.
▸ Pokaż oryginał (EN)
YAML::Syck versions through 1.36 for Perl has several potential security vulnerabilities including a high-severity heap buffer overflow in the YAML emitter. The heap overflow occurs when class names exceed the initial 512-byte allocation. The base64 decoder could read past the buffer end on trailing newlines. strtok mutated n->type_id in place, corrupting shared node data. A memory leak occurred in syck_hdlr_add_anchor when a node already had an anchor. The incoming anchor string 'a' was leaked on early return.
Heap buffer overflow występuje w emiterze YAML, gdy nazwy klas przekraczają początkowy przydział 512 bajtów na stercie. Dekoder base64 może odczytywać dane poza granicą bufora przy końcowych znakach nowej linii. Funkcja strtok modyfikowała in-place pole n->type_id, powodując uszkodzenie współdzielonych danych węzła. Dodatkowo, w funkcji syck_hdlr_add_anchor dochodziło do wycieku pamięci w przypadku, gdy węzeł posiadał już zdefiniowaną kotwicę — przychodzący łańcuch 'a' nie był zwalniany przy wczesnym powrocie.
Atakujący może doprowadzić do ujawnienia wrażliwych danych z pamięci procesu (poufność) lub spowodować awarię aplikacji i niedostępność usługi (dostępność), bez konieczności uwierzytelnienia.
Należy zaktualizować bibliotekę YAML::Syck do wersji 1.37_01 lub nowszej, dostępnej w repozytorium CPAN. Patch dostępny jest pod adresem wskazanym w referencjach producenta (commit e8844a31c8cf0052914b198fc784ed4e6b8ae69e).
YAML::Syck we wszystkich wersjach do 1.36 włącznie (dla języka Perl).
Podatność została publicznie ujawniona 16 marca 2026 roku za pośrednictwem listy oss-security (openwall.com). Dostępny jest publiczny patch w repozytorium GitHub projektu YAML-Syck.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HToddr Yaml\
APPToddr\
Powiązane podatności
YAML::Syck versions before 1.36 for Perl has missing null-terminators which causes out-of-bounds read and pote...
XML::Parser dla Perl — heap buffer overflow przez off-by-one przy głębokim zagnieżdżeniu XML
XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruptio...