CVE-2016-2226
High · 7.8CVSS
7.8
EPSS
7.2%
Published
Feb 24, 2017
CISA due date
—
Cloudanix analysis
A long-known flaw in a library used by Grafana could let attackers run their own code if certain files are opened, so install the available updates to prevent problems.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in string_appends triggers buffer overflow enabling arbitrary code execution when processing a crafted binary.
Why it matters to the business
Successful exploitation on unpatched Grafana instances could allow full system compromise via crafted executables, though the issue is years old with low probability of widespread exploitation.
How an attack unfolds
An attacker prepares a malicious executable containing malformed symbol names that overflow an integer in the demangler, causing a buffer overflow that redirects execution flow to attacker-controlled code.
How to fix it
Upgrade grafana-9 (Chainguard) to 9.5.20-r1 and grafana-oci-compat-9 (Chainguard) to 9.5.20-r1.
How to confirm the fix worked
Confirm installed package versions match or exceed the listed fixed releases using package manager queries.
Typical attack path
- Craft executable with oversized or malformed symbol names
- Deliver file to target environment
- Trigger demangling via affected library path
- Execute arbitrary code through buffer overflow
How to detect it
Examine process logs and crash dumps for unexpected demangler activity or buffer-related faults when handling external binaries; review file ingestion events for suspicious executables.
What your security team should do
- Apply the listed package updates across all instances
- Inventory all deployments to identify remaining vulnerable versions
- Disable unnecessary binary processing features if updates cannot be applied immediately
The record
Integer overflow in the string_appends function in cplus-dem.c in libiberty allows remote attackers to execute arbitrary code via a crafted executable, which triggers a buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | binutils | 0 | 2.27.51.20161102-1 |
| Debian:10 | ht | 0 | 2.1.0+repack1-1 |
| Debian:10 | libiberty | 0 | 20161011-1 |
| Debian:11 | binutils | 0 | 2.27.51.20161102-1 |
| Debian:11 | ht | 0 | 2.1.0+repack1-1 |
| Debian:11 | libiberty | 0 | 20161011-1 |
| Debian:12 | binutils | 0 | 2.27.51.20161102-1 |
| Debian:12 | ht | 0 | 2.1.0+repack1-1 |
| Debian:12 | libiberty | 0 | 20161011-1 |
| Debian:13 | binutils | 0 | 2.27.51.20161102-1 |
| Debian:13 | ht | 0 | 2.1.0+repack1-1 |
| Debian:13 | libiberty | 0 | 20161011-1 |
| Debian:14 | binutils | 0 | 2.27.51.20161102-1 |
| Debian:14 | libiberty | 0 | 20161011-1 |
| Debian:7 | binutils | 0 | 2.22-8+deb7u3 |
| Mageia:5 | binutils | 0 | 2.24-12.1.mga5 |
| Mageia:5 | gdb | 0 | 7.8.1-7.1.mga5 |
| Mageia:5 | valgrind | 0 | 3.10.1-2.1.mga5 |
| Ubuntu:14.04:LTS | gdb | 0 | 7.7.1-0ubuntu5~14.04.3 |
| Ubuntu:14.04:LTS | libiberty | 0 | 20131116-1ubuntu0.2 |
| Ubuntu:14.04:LTS | valgrind | 0 | 1:3.10.1-1ubuntu3~14.5 |
| Ubuntu:16.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:16.04:LTS | gcc-arm-none-eabi | 0 | No fix |
| Ubuntu:16.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:16.04:LTS | gccxml | 0 | No fix |
| Ubuntu:16.04:LTS | gdb | 0 | 7.11.1-0ubuntu1~16.5 |
| Ubuntu:16.04:LTS | ht | 0 | No fix |
| Ubuntu:16.04:LTS | libiberty | 0 | 20160215-1ubuntu0.2 |
| Ubuntu:16.04:LTS | nescc | 0 | No fix |
| Ubuntu:16.04:LTS | sdcc | 0 | No fix |
| Ubuntu:16.04:LTS | valgrind | 0 | 1:3.11.0-1ubuntu4.2 |
| Ubuntu:18.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:18.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:18.04:LTS | nescc | 0 | No fix |
| Ubuntu:18.04:LTS | sdcc | 0 | No fix |
| Ubuntu:20.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:20.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:20.04:LTS | nescc | 0 | No fix |
| Ubuntu:22.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:22.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:22.04:LTS | nescc | 0 | No fix |
| Ubuntu:24.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:24.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:24.10 | binutils-h8300-hms | 0 | No fix |
| Ubuntu:24.10 | gcc-h8300-hms | 0 | No fix |
| Ubuntu:25.04 | binutils-h8300-hms | 0 | No fix |
| Ubuntu:25.04 | gcc-h8300-hms | 0 | No fix |
| Ubuntu:25.10 | binutils-h8300-hms | 0 | No fix |
| Ubuntu:25.10 | gcc-h8300-hms | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | binutils | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | binutils | 0 | 2.26.1-1ubuntu1~16.04.8+esm1 |
| Ubuntu:Pro:16.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gcc-arm-none-eabi | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gccxml | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ht | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | nescc | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | sdcc | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | nescc | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | sdcc | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | binutils-h8300-hms | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | gcc-h8300-hms | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | nescc | 0 | No fix |
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-2012-3509 Multiple integer overflows in the (1) _objalloc_alloc function in objalloc.c and (2)… 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