CVE-2025-0840
Medium · 5.0CVSS
5.0
EPSS
0.7%
Published
Jan 29, 2025
CISA due date
—
Cloudanix analysis
A problem in a common tool for inspecting program files can let attackers crash the tool or potentially run their own code by feeding it specially made data.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack-based buffer overflow in the disassemble_bytes function of binutils/objdump.c triggered by manipulation of the buf argument, allowing memory corruption when processing crafted input remotely.
Why it matters to the business
Disruption to binary analysis and reverse-engineering workflows that rely on objdump, with potential for remote code execution or denial of service in environments using affected GNU Binutils versions up to 2.43; urgency is moderate given stable low EPSS and absence from KEV.
How an attack unfolds
An attacker supplies specially crafted binary data to objdump that overflows the stack buffer in disassemble_bytes; the public exploit requires high complexity and is difficult to execute successfully, with no known threat actors or ransomware campaigns leveraging it.
How to fix it
Upgrade GNU Binutils to version 2.44 or apply the patch identified by commit baac6c221e9d69335bf41366a1c7d87d8ab2f893 (or the equivalent 815d9a14cbbb3b81843f7566222c87fb22e7255d in the git repository).
How to confirm the fix worked
Verify installed Binutils version is 2.44 or later; confirm the patch commit is present in the source tree; re-test objdump with previously triggering inputs to ensure no overflow occurs.
Typical attack path
- Identify target systems running objdump from Binutils <= 2.43
- Craft malicious input file designed to overflow the buf argument in disassemble_bytes
- Deliver the input remotely to trigger the stack-based buffer overflow
- Attempt to leverage the resulting memory corruption for code execution or crash
How to detect it
Review system and application logs for unexpected objdump crashes or segmentation faults when processing external binaries; correlate with usage of untrusted input files around the time of any anomalous behavior.
What your security team should do
- Prioritize upgrade of Binutils to the fixed version in all build, analysis, and CI environments
- Monitor for any public exploit code updates given the disclosure status
- Restrict use of objdump on untrusted inputs until patched
The record
A vulnerability, which was classified as problematic, was found in GNU Binutils up to 2.43. This affects the function disassemble_bytes of the file binutils/objdump.c. The manipulation of the argument buf leads to stack-based buffer overflow. 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. Upgrading to version 2.44 is able to address this issue. The identifier of the patch is baac6c221e9d69335bf41366a1c7d87d8ab2f893. It is recommended to upgrade the affected component.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | binutils | 0 | 2.40-r8 |
| Alpine:v3.19 | binutils | 0 | 2.41-r1 |
| Alpine:v3.20 | binutils | 0 | 2.42-r1 |
| Alpine:v3.21 | binutils | 0 | 2.43.1-r2 |
| Alpine:v3.22 | binutils | 0 | 2.44-r0 |
| Debian:11 | binutils | 0 | No fix |
| Debian:12 | binutils | 0 | No fix |
| Debian:13 | binutils | 0 | 2.43.90.20250122-1 |
| Debian:14 | binutils | 0 | 2.43.90.20250122-1 |
| Mageia:9 | binutils | 0 | 2.40-11.1.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-2.1 |
Related vulnerabilities
- CVE-2025-3198 A vulnerability has been found in GNU Binutils 2.43/2.44 and classified as problematic. Also affects binutils
- CVE-2025-1153 A vulnerability classified as problematic was found in GNU Binutils 2.43/2.44. Also affects binutils
- 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-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-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