CVE-2025-11413
Executive Summary
CVE-2025-11413 is a locally exploitable out-of-bounds read vulnerability in GNU Binutils 2.45, specifically within the elf_link_add_object_symbols function in bfd/elflink.c. The vulnerability allows an attacker to trigger a read past the bounds of an allocated buffer, potentially leading to information disclosure or a denial of service. The attack vector is local, requiring user interaction to process a maliciously crafted ELF file. A patch is available in version 2.46, and the exploit has been publicly disclosed.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects the GNU Binutils package, a critical component in many Linux distributions and development toolchains. While not a direct supply chain injection, a compromised or malicious ELF file processed by a vulnerable linker can lead to local information disclosure or denial of service. Organizations should ensure that their build environments and developer workstations are updated to Binutils 2.46 or later to mitigate this risk.
CVSS Breakdown & Threat Level
- CVSS Score: 3.3 (Low)
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
- Attack Vector (AV): Local (L) – The attacker must have local access to the system.
- Attack Complexity (AC): Low (L) – The attack does not require special conditions.
- Privileges Required (PR): None (N) – No privileges are needed to trigger the vulnerability.
- User Interaction (UI): Required (R) – The victim must process a malicious file.
- Scope (S): Unchanged (U) – The vulnerability does not affect other components.
- Confidentiality (C): None (N) – No direct data exposure.
- Integrity (I): None (N) – No data modification.
- Availability (A): Low (L) – A denial of service is possible.
Threat Level: Low. The vulnerability requires local access and user interaction, and the impact is limited to availability.
Deep Dive & Mechanics
The vulnerability resides in the elf_link_add_object_symbols function within bfd/elflink.c. This function is responsible for adding symbols from an ELF object file to the linker's symbol table during the linking process. The out-of-bounds read occurs when processing a malformed ELF file with crafted symbol table entries.
Specifically, the function fails to properly validate the size or offset of a symbol table section before reading from it. An attacker can craft an ELF file with a symbol table that has an invalid sh_size or sh_offset field, causing the linker to read beyond the allocated buffer. This can lead to a crash (denial of service) or potentially leak sensitive memory contents.
The root cause is a missing bounds check on the symbol table section data. The patch adds a validation step to ensure that the read operation stays within the bounds of the allocated buffer.
Vulnerable vs. Patched Code
Vulnerable Code (Binutils 2.45):
// In bfd/elflink.c, function elf_link_add_object_symbols
// No bounds check on symbol table size
sym = (Elf_Internal_Sym *) (elf_sym_sec->contents + sym_offset);
// Direct read without validation
Patched Code (Binutils 2.46):
// In bfd/elflink.c, function elf_link_add_object_symbols
// Added bounds check
if (sym_offset + sizeof (Elf_Internal_Sym) > elf_sym_sec->size)
{
// Error handling
return FALSE;
}
sym = (Elf_Internal_Sym *) (elf_sym_sec->contents + sym_offset);
The patch ensures that the read operation does not exceed the section's allocated size, preventing the out-of-bounds read.
Exploitation & Lab Setup
Red Team
Prerequisites:
- GNU Binutils 2.45 installed on a Linux system.
- Ability to craft a malicious ELF file.
Exploit Steps:
- Create a malicious ELF file with a crafted symbol table section that has an invalid
sh_sizeorsh_offsetfield. - Use the vulnerable linker (e.g.,
ld) to process the file:ld -r malicious.o - The linker will trigger an out-of-bounds read, potentially causing a crash or leaking memory.
Example Crafting (Conceptual):
# craft_exploit.py
import struct
def create_malicious_elf():
# Simplified ELF header and section headers
# Set sh_size to a large value to trigger OOB read
# This is a conceptual example
pass
Note: A public exploit is available, but no specific code is provided in this advisory.
Blue Team
Detection:
- Monitor for crashes in the
ldorgoldlinker processes. - Use file integrity monitoring to detect unexpected ELF files.
- Implement behavioral analysis for linker processes accessing unusual memory regions.
Prevention:
- Update to Binutils 2.46 or later.
- Restrict local user access to trusted individuals.
- Use sandboxing or containerization for build environments.
Indicators of Compromise (IOCs)
- File Hashes: (No specific hashes provided)
- Process Anomalies: Crashes in
ldorgoldprocesses with segmentation faults. - Network: None (local vulnerability).
- Logs: System logs showing linker crashes or core dumps.
Detection Engineering
YARA Rule
rule CVE_2025_11413_Exploit_ELF {
meta:
description = "Detects malicious ELF files exploiting CVE-2025-11413"
author = "Valters IT"
date = "2025-01-01"
reference = "CVE-2025-11413"
strings:
$elf_magic = { 7f 45 4c 46 } // ELF magic
$suspicious_sh_size = { ff ff ff ff } // Large sh_size value
condition:
$elf_magic at 0 and $suspicious_sh_size
}
Sigma Rule
title: CVE-2025-11413 Linker Crash Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects crashes in GNU Binutils linker due to CVE-2025-11413
author: Valters IT
logsource:
category: process_creation
product: linux
detection:
selection:
Image|endswith: '/ld'
CommandLine|contains: 'segfault'
condition: selection
falsepositives:
- Legitimate linker crashes due to other bugs
level: low
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2025-11413 Potential Exploit"; content:"|7f 45 4c 46|"; offset:0; depth:4; content:"|ff ff ff ff|"; within:100; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade GNU Binutils to version 2.46 or later.
- Apply the patch commit
72efdf166aa0ed72ecc69fc2349af6591a7a19c0if upgrading is not possible. - Restrict local access to trusted users only.
Long-term Measures:
- Implement regular updates for development toolchains.
- Use static analysis tools to detect similar vulnerabilities in custom code.
- Monitor for new CVEs related to Binutils.
Workarounds:
- Use an alternative linker (e.g.,
goldfrom Binutils) if it is not affected. - Avoid processing untrusted ELF files.
Valters IT
Securing Digital Frontiers