The _bfd_XX_bfd_copy_private_bfd_data_common function in peXXigen.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.30, processes a negative Data Directory size with an unbounded loop that increases the value of (external_IMAGE_DEBUG_DIRECTORY) *edd so that the address exceeds its own memory region, resulting in an out-of-bounds memory write, as demonstrated by objcopy copying private info with _bfd_pex64_bfd_copy_private_bfd_data_common in pex64igen.c.
The product writes data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
http://www.securityfocus.com/bid/104025 | vdb entry third party advisory |
https://access.redhat.com/errata/RHSA-2018:3032 | third party advisory vendor advisory |
https://sourceware.org/bugzilla/show_bug.cgi?id=23110 | issue tracking third party advisory |
https://access.redhat.com/errata/RHBA-2019:0327 | third party advisory vendor advisory |
https://security.gentoo.org/glsa/201908-01 | vendor advisory |
https://usn.ubuntu.com/4336-1/ | vendor advisory |