CVE-2026-13713 in YAML::Syck
Resumen
por VulDB • 2026-07-17
Las versiones de YAML::Syck anteriores a la 1.47 para Perl permiten una vulnerabilidad use-after-free y double-free mediante un nodo de ancla liberado mientras aún se encuentra en la pila de valores del analizador (parser).
En el libsyck incluido, cuando se redefine o elimina un nombre de ancla, las funciones syck_hdlr_add_anchor y syck_hdlr_remove_anchor liberan el nodo almacenado bajo ese nombre mediante syck_free_node. Dicho nodo puede seguir estando activo en la pila de valores del analizador, por lo que syck_hdlr_add_node vuelve a acceder a él y lo libera una segunda vez. En una compilación normal, se libera dos veces un bloque de 48 bytes correspondiente al nodo, provocando el aborto del intérprete. Dado que las anclas no requieren banderas especiales, esta condición es alcanzable en la ruta predeterminada Load, y un documento de 7 bytes que redefine una ancla desencadena la vulnerabilidad.
Cualquier llamador que ejecute Load o LoadFile sobre un documento no confiable que redefina una ancla durante el análisis provoca el fallo del intérprete, constituyendo un ataque de denegación de servicio (DoS).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.