CVE-2025-1181
NoneCVSS
—
EPSS
0.7%
Published
Feb 11, 2025
CISA due date
—
Cloudanix analysis
A bug in a widely used programming tool can let attackers damage memory when the tool processes certain files, potentially breaking software builds or allowing malicious code to run.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Other
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Memory corruption in the _bfd_elf_gc_mark_rsec function within the BFD library used by the GNU linker (ld) when processing ELF object files.
Why it matters to the business
Attackers could crash the linker or potentially execute arbitrary code during build processes, disrupting software compilation pipelines and risking supply-chain compromise in environments that process untrusted binaries.
How an attack unfolds
An attacker crafts a malicious ELF file that triggers the vulnerable garbage-collection marking routine, causing memory corruption that may be leveraged for code execution or denial of service when the linker processes the file.
How to fix it
Apply the upstream patch commit 931494c9a89558acb36a03a340c01726545eef24 or upgrade to a version of GNU Binutils that contains the fix. Rebuild any affected toolchains and verify that ld no longer exhibits the corruption when processing the proof-of-concept file.
How to confirm the fix worked
Confirm the presence of the patch in bfd/elflink.c, recompile Binutils, and test that the linker completes without corruption on both benign and specially crafted ELF inputs that previously triggered the flaw.
Typical attack path
- Craft a malformed ELF object file designed to exercise the vulnerable code path in _bfd_elf_gc_mark_rsec
- Deliver the file to a target system or build environment that invokes GNU ld
- Trigger the linker to process the file during a normal build or analysis operation
- Exploit the resulting memory corruption to achieve code execution or crash the process
How to detect it
Review linker crash logs, core dumps, and build-system telemetry for segmentation faults or memory errors occurring during ELF processing; correlate with file hashes or origins of input objects.
What your security team should do
- Prioritize patching GNU Binutils in all build environments and CI pipelines
- Scan source and binary repositories for the vulnerable 2.43 release and replace affected toolchains
- Monitor build logs for unexpected crashes or memory errors during linking of untrusted inputs
- Restrict use of ld on untrusted ELF files until the patch is deployed
The record
A vulnerability classified as critical was found in GNU Binutils 2.43. This vulnerability affects the function _bfd_elf_gc_mark_rsec of the file bfd/elflink.c of the component ld. The manipulation leads to memory corruption. The attack can be initiated remotely. The complexity of an attack is rather high. The exploitation appears to be difficult. The exploit has been disclosed to the public and may be used. The name of the patch is 931494c9a89558acb36a03a340c01726545eef24. It is recommended to apply a patch to fix this issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | binutils | 0 | No fix |
| Debian:12 | binutils | 0 | No fix |
| Debian:13 | binutils | 0 | No fix |
| Debian:14 | binutils | 0 | 2.45-3 |
| Mageia:9 | binutils | 0 | 2.40-11.2.mga9 |
| SUSE:Enterprise Storage 7.1 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Enterprise Storage 7.1 | openucx | 0 | 1.9.0-150300.4.2.5 |
| SUSE:Enterprise Storage 7.1 | perf | 0 | 5.3.18-150300.38.7.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | openucx | 0 | 1.9.0-150300.4.2.5 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | perf | 0 | 5.3.18-150300.38.7.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | openucx | 0 | 1.11.1-150400.4.2.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | perf | 0 | 5.14.21-150400.44.20.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | openucx | 0 | 1.11.1-150400.4.2.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | perf | 0 | 5.14.21-150400.44.20.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | openucx | 0 | 1.13.1-150500.4.2.5 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | perf | 0 | 5.14.21-150500.52.5.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | openucx | 0 | 1.13.1-150500.4.2.5 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | perf | 0 | 5.14.21-150500.52.5.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | openucx | 0 | 1.15.0-150600.3.5.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | openucx | 0 | 1.17.0-150700.4.2.7 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | perf | 0 | 6.4.0.git33229.a3afe13a7f-150600.3.17.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | perf | 0 | 6.4.0.git54263.0aad576b1c-150700.3.2.2 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP7 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | openucx | 0 | 1.9.0-150300.4.2.5 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | perf | 0 | 5.3.18-150300.38.7.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | openucx | 0 | 1.11.1-150400.4.2.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | perf | 0 | 5.14.21-150400.44.20.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | openucx | 0 | 1.13.1-150500.4.2.5 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | perf | 0 | 5.14.21-150500.52.5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | openucx | 0 | 1.9.0-150300.4.2.5 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | perf | 0 | 5.3.18-150300.38.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | openucx | 0 | 1.11.1-150400.4.2.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | perf | 0 | 5.14.21-150400.44.20.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | openucx | 0 | 1.13.1-150500.4.2.5 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | perf | 0 | 5.14.21-150500.52.5.1 |
| SUSE:Manager Proxy LTS 4.3 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Manager Proxy LTS 4.3 | openucx | 0 | 1.11.1-150400.4.2.1 |
| SUSE:Manager Server LTS 4.3 | binutils | 0 | 2.45-150100.7.57.1 |
| SUSE:Manager Server LTS 4.3 | openucx | 0 | 1.11.1-150400.4.2.1 |
| openSUSE:Leap 15.6 | binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-aarch64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-arm-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-avr-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-bpf-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-epiphany-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-hppa-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-hppa64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-i386-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-ia64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-m68k-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-mips-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-ppc-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-ppc64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-ppc64le-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-pru-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-riscv64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-rx-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-s390-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-s390x-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-sparc-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-sparc64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-spu-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-x86_64-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | cross-xtensa-binutils | 0 | 2.45-150100.7.57.1 |
| openSUSE:Leap 15.6 | openucx | 0 | 1.15.0-150600.3.5.2 |
| openSUSE:Leap 15.6 | perf | 0 | 6.4.0.git33229.a3afe13a7f-150600.3.17.1 |
| openSUSE:Leap 16.0 | binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | bpftool | 0 | 7.5.0-160000.2.3 |
| openSUSE:Leap 16.0 | cross-aarch64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-arm-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-avr-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-bpf-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-epiphany-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-hppa-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-hppa64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-i386-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-ia64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-loongarch64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-m68k-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-mips-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-ppc-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-ppc64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-ppc64le-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-pru-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-riscv64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-rx-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-s390-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-s390x-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-sparc-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-sparc64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-spu-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-x86_64-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Leap 16.0 | cross-xtensa-binutils | 0 | 2.45-160000.1.1 |
| openSUSE:Tumbleweed | binutils | 0 | 2.45-1.2 |
Related vulnerabilities
- CVE-2025-8225 A vulnerability was found in GNU Binutils 2.44 and classified as problematic. Also affects binutils
- CVE-2025-8224 A vulnerability has been found in GNU Binutils 2.44 and classified as problematic. Also affects binutils
- CVE-2025-7546 A vulnerability, which was classified as problematic, has been found in GNU Binutils 2.45. Also affects binutils
- CVE-2025-7545 A vulnerability classified as problematic was found in GNU Binutils 2.45. Also affects binutils
- CVE-2025-5245 A vulnerability classified as critical has been found in GNU Binutils up to 2.44. Also affects binutils
- CVE-2025-5244 A vulnerability was found in GNU Binutils up to 2.44. Also affects binutils
- CVE-2025-3198 A vulnerability has been found in GNU Binutils 2.43/2.44 and classified as problematic. Also affects binutils
- CVE-2025-1182 A vulnerability, which was classified as critical, was found in GNU Binutils 2.43. Also affects binutils