CVE-2012-3509
NoneCVSS
—
EPSS
3.6%
Published
Sep 5, 2012
CISA due date
—
Cloudanix analysis
An old flaw in a library used by certain container tools can make those tools crash when they receive specially crafted data.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflows in _objalloc_alloc and the objalloc_alloc macro allow CHUNK_HEADER_SIZE addition to trigger a heap-based buffer overflow, resulting in a crash.
Why it matters to the business
Crashes in affected build and container tooling can interrupt development pipelines and container image workflows, causing delays until packages are updated.
How an attack unfolds
An attacker supplies crafted input that exercises the vulnerable allocation paths in libiberty; the integer overflow produces an undersized buffer, leading to a heap overflow and immediate denial of service.
How to fix it
Upgrade k3d, k3d-proxy, and k3d-tools to version 5.6.0-r11 or later in both Chainguard and Wolfi distributions; rebuild any downstream images that embed the affected packages.
How to confirm the fix worked
Verify installed package versions match or exceed the listed fixed releases; run regression tests that exercise objalloc paths to confirm absence of the crash condition.
Typical attack path
- Identify a process or tool that links against the vulnerable libiberty
- Craft input that forces addition of CHUNK_HEADER_SIZE to a large length value
- Trigger the allocation path to induce the heap overflow
- Observe process crash and service interruption
How to detect it
Review process crash logs and core dumps from binutils or k3d binaries for signs of heap corruption; correlate with any unexpected restarts of build or proxy containers.
What your security team should do
- Apply the 5.6.0-r11 updates immediately on all affected k3d deployments
- Scan container images for older libiberty/binutils versions
- Add version pinning in build pipelines to prevent regression
The record
Multiple integer overflows in the (1) _objalloc_alloc function in objalloc.c and (2) objalloc_alloc macro in include/objalloc.h in GNU libiberty, as used by binutils 2.22, allow remote attackers to cause a denial of service (crash) via vectors related to the "addition of CHUNK_HEADER_SIZE to the length," which triggers a heap-based buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | binutils | 0 | 2.22-8 |
| Debian:11 | binutils | 0 | 2.22-8 |
| Debian:12 | binutils | 0 | 2.22-8 |
| Debian:13 | binutils | 0 | 2.22-8 |
| Debian:6.0 | binutils | 0 | 2.20.1-16+deb6u2 |
| Mageia:3 | sdcc | 0 | 3.4.0-6.mga3 |
| Mageia:4 | sdcc | 0 | 3.4.0-6.mga4 |
| SUSE:Linux Enterprise Desktop 11 SP4 | binutils | 0 | 2.25.0-5.5 |
| SUSE:Linux Enterprise Desktop 11 SP4 | gcc5 | 0 | 5.2.1+r226025-2.4 |
| SUSE:Linux Enterprise Desktop 11 SP4 | gdb | 0 | 7.9.1-3.2 |
| SUSE:Linux Enterprise Server 11 SP4 | binutils | 0 | 2.25.0-5.5 |
| SUSE:Linux Enterprise Server 11 SP4 | gcc5 | 0 | 5.2.1+r226025-2.4 |
| SUSE:Linux Enterprise Server 11 SP4 | gdb | 0 | 7.9.1-3.2 |
| SUSE:Linux Enterprise Server 11 SP4 | libffi-gcc5 | 0 | 5.2.1+r226025-2.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | binutils | 0 | 2.25.0-5.5 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | gcc5 | 0 | 5.2.1+r226025-2.4 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | gdb | 0 | 7.9.1-3.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | libffi-gcc5 | 0 | 5.2.1+r226025-2.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | binutils | 0 | 2.25.0-5.5 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | cross-ppc-binutils | 0 | 2.25.0-5.7 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | cross-spu-binutils | 0 | 2.25.0-5.7 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | gcc5 | 0 | 5.2.1+r226025-2.4 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | gdb | 0 | 7.9.1-3.2 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | libffi-gcc5 | 0 | 5.2.1+r226025-2.1 |
| Ubuntu:14.04:LTS | binutils | 0 | 2.24-5ubuntu3 |
| Ubuntu:14.04:LTS | binutils | 0 | 2.24-5ubuntu3.1 |
Related vulnerabilities
- CVE-2017-17122 The dump_relocs_in_section function in objdump.c in GNU Binutils 2.29.1 does not check… Also affects binutils
- CVE-2017-9742 The score_opcodes function in opcodes/score7-dis.c in GNU Binutils 2.28 allows remote… Also affects binutils
- CVE-2016-2226 Integer overflow in the string_appends function in cplus-dem.c in libiberty allows remote… Also affects binutils
- CVE-2006-2362 Buffer overflow in getsym in tekhex.c in libbfd in Free Software Foundation GNU Binutils… Also affects binutils
- CVE-2005-4807 Stack-based buffer overflow in the as_bad function in messages.c in the GNU as (gas)… Also affects binutils
- CVE-2024-57360 https://www.gnu.org/software/binutils/ nm >=2.43 is affected by: Incorrect Access Control. Also affects binutils
- CVE-2024-53589 GNU objdump 2.43 is vulnerable to Buffer Overflow in the BFD (Binary File Descriptor)… Also affects binutils
- CVE-2014-8501 The _bfd_XXi_swap_aouthdr_in function in bfd/peXXigen.c in GNU binutils 2.24 and earlier… Also affects binutils