CVE-2025-1149
Low · 3.1CVSS
3.1
EPSS
0.6%
Published
Feb 10, 2025
CISA due date
—
Cloudanix analysis
A flaw in a widely used programming tool can cause it to slowly consume extra memory when handling certain inputs, potentially slowing down or disrupting software builds if left unaddressed.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Memory leak triggered via crafted input to the xstrdup function in libiberty/xmalloc.c within the ld linker component, causing gradual resource exhaustion without immediate crash or code execution.
Why it matters to the business
Repeated triggering on build or linking systems may lead to increased memory consumption, degraded performance, and potential service disruption in environments relying on GNU Binutils for compilation and linking workflows.
How an attack unfolds
An attacker supplies specially formed input to the ld linker over a network-accessible interface or via command-line processing; the xstrdup allocation path fails to release memory under specific conditions, resulting in a leak that accumulates with multiple invocations, though the high complexity and difficult exploitability limit practical success.
How to fix it
Apply the memory-leak fixes present on the binutils master branch; avoid relying on the 2.44 release line until the fixes are backported, and rebuild affected tools from a patched source tree.
How to confirm the fix worked
Compile a test binary using ld with repeated invocations of the previously leaking input pattern and monitor process memory statistics with tools such as valgrind or massif to confirm absence of growth; review build logs for any residual allocation warnings.
Typical attack path
- Identify a remotely reachable or scriptable invocation of ld that processes attacker-controlled input.
- Craft input designed to exercise the xstrdup code path repeatedly.
- Monitor target memory usage to confirm gradual increase without triggering immediate errors.
- Sustain the workload over time to amplify resource consumption and impact availability.
How to detect it
Review system and application logs for repeated ld invocations with unusual argument patterns; correlate with memory-usage metrics from process accounting or container runtime telemetry to identify anomalous growth that coincides with linker activity.
What your security team should do
- Prioritize patching ld and rebuilding Binutils from master for all build servers and CI pipelines within the next maintenance window.
- Reduce exposure by restricting untrusted input to ld and enforcing strict input validation or sandboxing around the linker.
- Monitor memory utilization trends on systems that invoke ld and alert on sustained growth outside normal build patterns.
The record
A vulnerability was found in GNU Binutils 2.43. It has been classified as problematic. This affects the function xstrdup of the file libiberty/xmalloc.c of the component ld. The manipulation leads to memory leak. It is possible to initiate the attack remotely. The complexity of an attack is rather high. The exploitability is told to be difficult. The exploit has been disclosed to the public and may be used. It is recommended to apply a patch to fix this issue. The code maintainer explains: "I'm not going to commit some of the leak fixes I've been working on to the 2.44 branch due to concern that would destabilise ld. All of the reported leaks in this bugzilla have been fixed on binutils master."
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 |
| 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