CVE-2025-1176
Medium · 5.0CVSS
5.0
EPSS
0.7%
Published
Feb 11, 2025
CISA due date
—
Cloudanix analysis
A flaw in a widely used software building tool can let attackers crash or take over the build process when developers link certain files.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Heap-based buffer overflow in the _bfd_elf_gc_mark_rsec function within elflink.c of the ld linker component when processing ELF object files.
Why it matters to the business
Compromise or disruption of software build and linking pipelines can halt development workflows, introduce corrupted artifacts into releases, or enable attacker code execution on developer and CI systems.
How an attack unfolds
An attacker crafts a malicious ELF object file that triggers the buffer overflow during garbage-collection section marking inside ld; successful exploitation requires precise heap layout control and is further complicated by the need to deliver the file to a victim linker invocation.
How to fix it
Apply the upstream patch f9978defb6fab0bd8583942d97c112b0932ac814 or upgrade GNU Binutils to a release containing the fix; rebuild all dependent toolchains and CI images with the patched version.
How to confirm the fix worked
Confirm the patched commit is present in the source tree, rebuild ld, and verify that the vulnerable function no longer exhibits the overflow on the original proof-of-concept ELF input.
Typical attack path
- Craft malicious ELF object file targeting _bfd_elf_gc_mark_rsec
- Deliver file to victim via build dependency, source archive, or shared repository
- Victim invokes ld (directly or via compiler driver) on the file
- Overflow occurs during section marking, enabling control-flow hijack or crash
How to detect it
Monitor build logs and CI systems for ld segmentation faults or heap-related error messages; inspect core dumps from linker processes for signs of buffer overflow during ELF processing.
What your security team should do
- Prioritize patching of all GNU Binutils installations used in build environments within the next sprint
- Scan source repositories and dependency manifests for references to vulnerable Binutils versions
- Add ld crash and heap-corruption alerts to CI monitoring pipelines
The record
A vulnerability was found in GNU Binutils 2.43 and classified as critical. This issue affects the function _bfd_elf_gc_mark_rsec of the file elflink.c of the component ld. The manipulation leads to heap-based buffer overflow. The attack may be initiated remotely. The complexity of an attack is rather high. The exploitation is known to be difficult. The exploit has been disclosed to the public and may be used. The patch is named f9978defb6fab0bd8583942d97c112b0932ac814. 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