The bfd_cache_close function in bfd/cache.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.29 and earlier, allows remote attackers to cause a heap use after free and possibly achieve code execution via a crafted nested archive file. This issue occurs because incorrect functions are called during an attempt to release memory. The issue can be addressed by better input validation in the bfd_generic_archive_p function in bfd/archive.c.
La función bfd_cache_close en bfd/cache.c de la librería Binary File Descriptor (BFD), también llamada libbfd, tal y como se distribuye en GNU Binutils 2.29 y anteriores, permite que atacantes remotos provoquen un uso de memoria dinámica antes de liberación y, probablemente, logren ejecutar código a través de un archivo anidado manipulado. Esto ocurre debido a que se llama a funciones incorrectas mientras se intenta liberar memoria. Este problema puede afrontarse mejorando la validación de entradas en la función bfd_generic_archive_p, en bfd/archive.c.