CVE details
CVE-2025-69650
GNU Binutils thru 2.46 readelf contains a double free vulnerability when processing a crafted ELF binary with malformed relocation data. During GOT relocation handling, dump_relocations may return early without initializing the all_relocations array. As a result, process_got_section_contents() may pass an uninitialized r_symbol pointer to free(), leading to a double free and terminating the program with SIGABRT. No evidence of exploitable memory corruption or code execution was observed; the impact is limited to denial of service. NOTE: this is disputed by third parties because the observed behavior occurred only in pre-release code and did not affect any tagged version.
Affected ports (19)
| Port | Package | Version | Status | Maintainer |
|---|---|---|---|---|
| devel/binutils | aarch64-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | aarch64-none-elf-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | amd64-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | arm-gnueabi-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | arm-none-eabi-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | avr-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | i386-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | mingw32-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | powerpc-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | powerpc64-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | powerpc64le-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | riscv32-unknown-elf-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | riscv64-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | riscv64-none-elf-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| devel/binutils | s390x-binutils | 2.44,1 | unaddressed | cy@FreeBSD.org |
| lang/gnatcross-binutils-aarch64 | gnatcross-binutils-aarch64 | 2.27_1 | unaddressed | ports@FreeBSD.org |
| lang/gnatdroid-binutils | gnatdroid-binutils | 2.27_1 | unaddressed | jamie@catflap.org |
| lang/gnatdroid-binutils-x86 | gnatdroid-binutils-x86 | 2.27_1 | unaddressed | ports@FreeBSD.org |
Template for a VuXML entry
Range taken from the CVE record, check it before committing. make newentry in security/vuxml creates the vid.
<vuln vid="FIXME (make newentry)">
<topic>FIXME -- FIXME</topic>
<affects>
<package>
<name>aarch64-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>aarch64-none-elf-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>amd64-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>arm-gnueabi-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>arm-none-eabi-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>avr-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>i386-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>mingw32-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>powerpc-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>powerpc64-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>powerpc64le-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>riscv32-unknown-elf-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>riscv64-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>riscv64-none-elf-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>s390x-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>gnatcross-binutils-aarch64</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>gnatdroid-binutils</name>
<range><lt>FIXME</lt></range>
</package>
<package>
<name>gnatdroid-binutils-x86</name>
<range><lt>FIXME</lt></range>
</package>
</affects>
<description>
<body xmlns="http://www.w3.org/1999/xhtml">
<p>GNU Binutils thru 2.46 readelf contains a double free vulnerability
when processing a crafted ELF binary with malformed relocation data.
During GOT relocation handling, dump_relocations may return early
without initializing the all_relocations array. As a result,
process_got_section_contents() may pass an uninitialized r_symbol
pointer to free(), leading to a double free and terminating the
program with SIGABRT. No evidence of exploitable memory corruption or
code execution was observed; the impact is limited to denial of
service. NOTE: this is disputed by third parties because the observed
behavior occurred only in pre-release code and did not affect any
tagged version.</p>
</body>
</description>
<references>
<cvename>CVE-2025-69650</cvename>
<url>https://nvd.nist.gov/vuln/detail/CVE-2025-69650</url>
</references>
<dates>
<discovery>2026-03-06</discovery>
<entry>2026-10-25</entry>
</dates>
</vuln>