CVE-2016-7947
Critical · 9.8CVSS
9.8
EPSS
3.6%
Published
Dec 13, 2016
CISA due date
—
Cloudanix analysis
A problem in a graphics library could let a remote attacker take control of systems that have not yet received the available update.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflows in libXrandr response parsing enable out-of-bounds writes when processing data from a remote X server.
Why it matters to the business
Remote attackers could execute arbitrary code or crash graphics-dependent applications on systems using the vulnerable library versions; while the issue is years old with stable fixes available, unpatched downstream packages continue to expose workloads to memory corruption risks.
How an attack unfolds
An attacker positions a malicious or compromised X server reachable by the victim client, then sends a specially crafted X protocol response containing oversized or malformed values that trigger the integer overflow and subsequent out-of-bounds write.
How to fix it
Upgrade hubble-ui and hubble-ui-backend packages on Chainguard and Wolfi to version 0.13.0-r6 or later; rebuild any containers or images that embed the vulnerable libXrandr and redeploy.
How to confirm the fix worked
Verify installed package versions match or exceed the listed fixed releases; run dependency scanners against container images to confirm absence of the vulnerable library; test connectivity to X servers with fuzzed responses in a lab environment.
Typical attack path
- Establish network reachability to a victim process that connects to an X server
- Send a crafted XRandR extension reply with manipulated length or count fields
- Trigger integer overflow during size calculations leading to out-of-bounds write
- Leverage the write primitive for code execution or denial of service
How to detect it
Review process crash logs and core dumps for libXrandr-related faults; inspect network traffic for anomalous XRandR extension replies; correlate any X client connection attempts to untrusted or unexpected servers.
What your security team should do
- Immediately update all affected hubble-ui and hubble-ui-backend deployments to the fixed package versions
- Scan container registries and build pipelines for any remaining references to older libXrandr builds
- Restrict X server connections to trusted endpoints only
- Monitor for new EPSS or KEV updates even though current exploitation maturity remains low
The record
Multiple integer overflows in X.org libXrandr before 1.5.1 allow remote X servers to trigger out-of-bounds write operations via a crafted response.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.3 | libxrandr | 0 | 1.5.0-r1 |
| Debian:10 | libxrandr | 0 | 2:1.5.1-1 |
| Debian:11 | libxrandr | 0 | 2:1.5.1-1 |
| Debian:12 | libxrandr | 0 | 2:1.5.1-1 |
| Debian:13 | libxrandr | 0 | 2:1.5.1-1 |
| Debian:7 | libxrandr | 0 | 2:1.3.2-2+deb7u2 |
| Mageia:5 | libx11 | 0 | 1.6.5-1.mga5 |
| Mageia:5 | libxfixes | 0 | 5.0.3-1.mga5 |
| Mageia:5 | libxi | 0 | 1.7.7-1.mga5 |
| Mageia:5 | libxrandr | 0 | 1.4.2-4.1.mga5 |
| Mageia:5 | libxrender | 0 | 0.9.10-1.mga5 |
| Mageia:5 | libxtst | 0 | 1.2.3-1.mga5 |
| Mageia:5 | libxv | 0 | 1.0.11-1.mga5 |
| Mageia:5 | libxvmc | 0 | 1.0.10-1.mga5 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libX11 | 0 | 1.6.2-6.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXfixes | 0 | 5.0.1-5.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXi | 0 | 1.7.4-12.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXrandr | 0 | 1.4.2-5.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXrender | 0 | 0.9.8-5.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXtst | 0 | 1.2.2-5.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXv | 0 | 1.0.10-5.2 |
| SUSE:Linux Enterprise Desktop 12 SP1 | libXvMC | 0 | 1.0.8-5.2 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libX11 | 0 | 1.6.2-8.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXfixes | 0 | 5.0.1-7.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXi | 0 | 1.7.4-14.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXrender | 0 | 0.9.8-7.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXtst | 0 | 1.2.2-7.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXv | 0 | 1.0.10-7.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXvMC | 0 | 1.0.8-7.1 |
| SUSE:Linux Enterprise Server 11 SP4 | xorg-x11-libs | 0 | 7.4-8.26.49.1 |
| SUSE:Linux Enterprise Server 12 SP1 | libX11 | 0 | 1.6.2-6.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXfixes | 0 | 5.0.1-5.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXi | 0 | 1.7.4-12.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXrandr | 0 | 1.4.2-5.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXrender | 0 | 0.9.8-5.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXtst | 0 | 1.2.2-5.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXv | 0 | 1.0.10-5.2 |
| SUSE:Linux Enterprise Server 12 SP1 | libXvMC | 0 | 1.0.8-5.2 |
| SUSE:Linux Enterprise Server 12 SP2 | libX11 | 0 | 1.6.2-8.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libXfixes | 0 | 5.0.1-7.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libXi | 0 | 1.7.4-14.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libXrender | 0 | 0.9.8-7.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libXtst | 0 | 1.2.2-7.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libXv | 0 | 1.0.10-7.1 |
| SUSE:Linux Enterprise Server 12 SP2 | libXvMC | 0 | 1.0.8-7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libX11 | 0 | 1.6.2-8.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXfixes | 0 | 5.0.1-7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXi | 0 | 1.7.4-14.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXrender | 0 | 0.9.8-7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXtst | 0 | 1.2.2-7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXv | 0 | 1.0.10-7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXvMC | 0 | 1.0.8-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | xorg-x11-libs | 0 | 7.4-8.26.49.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libX11 | 0 | 1.6.2-6.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXfixes | 0 | 5.0.1-5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXi | 0 | 1.7.4-12.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXrandr | 0 | 1.4.2-5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXrender | 0 | 0.9.8-5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXtst | 0 | 1.2.2-5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXv | 0 | 1.0.10-5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | libXvMC | 0 | 1.0.8-5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libX11 | 0 | 1.6.2-8.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXfixes | 0 | 5.0.1-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXi | 0 | 1.7.4-14.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXrender | 0 | 0.9.8-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXtst | 0 | 1.2.2-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXv | 0 | 1.0.10-7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXvMC | 0 | 1.0.8-7.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | xorg-x11-libs | 0 | 7.4-8.26.49.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libX11 | 0 | 1.6.2-6.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXfixes | 0 | 5.0.1-5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXi | 0 | 1.7.4-12.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXrandr | 0 | 1.4.2-5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXrender | 0 | 0.9.8-5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXtst | 0 | 1.2.2-5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXv | 0 | 1.0.10-5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | libXvMC | 0 | 1.0.8-5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libX11 | 0 | 1.6.2-8.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXfixes | 0 | 5.0.1-7.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXi | 0 | 1.7.4-14.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXrender | 0 | 0.9.8-7.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXtst | 0 | 1.2.2-7.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXv | 0 | 1.0.10-7.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXvMC | 0 | 1.0.8-7.1 |
| Ubuntu:18.04:LTS | libxrandr | 0 | 2:1.5.1-1 |
| Ubuntu:Pro:16.04:LTS | libxrandr | 0 | 2:1.5.0-1ubuntu0.1~esm1 |
| openSUSE:Tumbleweed | libXrandr | 0 | 1.5.2-1.11 |
Related vulnerabilities
- CVE-2016-7949 Multiple buffer overflows in the (1) XvQueryAdaptors and (2) XvQueryEncodings functions… Also affects libx11
- CVE-2016-7945 Multiple integer overflows in X.org libXi before 1.7.7 allow remote X servers to cause a… Also affects libx11
- CVE-2016-7944 Integer overflow in X.org libXfixes before 5.0.3 on 32-bit platforms might allow remote X… Also affects libx11
- CVE-2016-7942 The XGetImage function in X.org libX11 before 1.6.4 might allow remote X servers to gain… Also affects libx11
- CVE-2016-5407 The (1) XvQueryAdaptors and (2) XvQueryEncodings functions in X.org libXv before 1.0.11… Also affects libx11
- CVE-2017-16612 libXcursor before 1.1.15 has various integer overflows that could lead to heap buffer… Also affects xorg-x11-libs
- CVE-2017-13720 In the PatternMatch function in fontfile/fontdir.c in libXfont through 1.5.2 and 2.x… Also affects xorg-x11-libs
- CVE-2026-110264 An issue has been discovered in GitLab CE/EE affecting all versions from 7.0 before… CWE-190