Cloudanix VulnDB

CVE-2025-1149

Low · 3.1

CVSS

3.1

EPSS

0.6%

Published

Feb 10, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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

  1. Identify a remotely reachable or scriptable invocation of ld that processes attacker-controlled input.
  2. Craft input designed to exercise the xstrdup code path repeatedly.
  3. Monitor target memory usage to confirm gradual increase without triggering immediate errors.
  4. 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