CVE-2017-16612
High · 7.5CVSS
7.5
EPSS
5.2%
Published
Dec 1, 2017
CISA due date
—
Cloudanix analysis
A bug in the code that reads certain cursor picture files can make graphics programs crash when they try to open a specially made file.
- 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 libXcursor cursor parsing allow attacker-controlled values to bypass size checks, resulting in undersized heap allocations followed by out-of-bounds writes when processing malicious cursor images.
Why it matters to the business
Applications that render cursor files (image editors, desktop environments, Wayland compositors) can be forced into denial-of-service crashes; unpatched systems remain exposed years after disclosure because the library is bundled in many Linux distributions.
How an attack unfolds
An attacker crafts a specially malformed cursor file that supplies oversized width/height or offset values. When an affected program such as GIMP or a Wayland client loads the file, libXcursor performs arithmetic that overflows, allocates an undersized buffer, and writes attacker data beyond its bounds, crashing the process.
How to fix it
Upgrade libXcursor to version 1.1.15 or later on all affected systems; rebuild and restart any statically linked applications; apply distribution security updates for Debian, Ubuntu, and other packages that ship the library.
How to confirm the fix worked
Run 'xcursor-config --version' or inspect the shared library file to confirm a version of 1.1.15 or newer; re-test by attempting to load a known-malformed cursor in GIMP or a Wayland client and verify the process no longer crashes.
Typical attack path
- Attacker generates a malicious cursor file containing integer-overflow-triggering dimensions or offsets
- Victim opens the file in any application linked against a vulnerable libXcursor
- libXcursor performs the overflowing calculation and writes beyond the allocated heap buffer
- Process terminates with a segmentation fault or abort, achieving denial of service
How to detect it
Review application crash logs and core dumps for segmentation faults occurring inside libXcursor or xcursor.c when users open .cur or .png cursor assets; correlate with file-access timestamps for recently received cursor files.
What your security team should do
- Identify all systems and containers that depend on libXcursor and schedule immediate updates
- Add libXcursor version checks to vulnerability scanning and SBOM processes
- Monitor for application crashes correlated with cursor file handling until patches are deployed
The record
libXcursor before 1.1.15 has various integer overflows that could lead to heap buffer overflows when processing malicious cursors, e.g., with programs like GIMP. It is also possible that an attack vector exists against the related code in cursor/xcursor.c in Wayland through 1.14.0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.11 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.12 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.13 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.14 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.15 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.16 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.17 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.18 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.19 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.20 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.21 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.22 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.4 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.5 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.6 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.7 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.8 | libxcursor | 0 | 1.1.15-r0 |
| Alpine:v3.9 | libxcursor | 0 | 1.1.15-r0 |
| Debian:11 | libxcursor | 0 | 1:1.1.14-3.1 |
| Debian:11 | wayland | 0 | 1.14.0-2 |
| Debian:12 | libxcursor | 0 | 1:1.1.14-3.1 |
| Debian:12 | wayland | 0 | 1.14.0-2 |
| Debian:13 | libxcursor | 0 | 1:1.1.14-3.1 |
| Debian:13 | wayland | 0 | 1.14.0-2 |
| Debian:7 | libxcursor | 0 | 1:1.1.13-1+deb7u2 |
| Debian:8 | libxcursor | 0 | 1:1.1.14-1+deb8u1 |
| Debian:9 | libxcursor | 0 | 1:1.1.14-1+deb9u1 |
| Mageia:5 | libxcursor | 0 | 1.1.14-5.1.mga5 |
| Mageia:6 | libxcursor | 0 | 1.1.14-6.1.mga6 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Server 11 SP4 | xorg-x11-libs | 0 | 7.4-8.26.50.5.3 |
| SUSE:Linux Enterprise Server 12 SP2 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Server 12 SP3 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | xorg-x11-libs | 0 | 7.4-8.26.50.5.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | xorg-x11-libs | 0 | 7.4-8.26.50.5.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libXcursor | 0 | 1.1.14-4.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libXcursor | 0 | 1.1.14-4.3.1 |
| Ubuntu:14.04:LTS | libxcursor | 0 | 1:1.1.14-1ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | wayland | 0 | 1.4.0-1ubuntu1.1 |
| Ubuntu:16.04:LTS | libxcursor | 0 | 1:1.1.14-1ubuntu0.16.04.1 |
| Ubuntu:16.04:LTS | wayland | 0 | 1.12.0-1~ubuntu16.04.3 |
| openSUSE:Tumbleweed | libXcursor | 0 | 1.2.0-1.9 |
Related vulnerabilities
- 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-2016-7947 Multiple integer overflows in X.org libXrandr before 1.5.1 allow remote X servers to… Also affects xorg-x11-libs
- CVE-2016-7945 Multiple integer overflows in X.org libXi before 1.7.7 allow remote X servers to cause a… 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
- CVE-2026-53615 util-linux is a random collection of Linux utilities. CWE-190
- CVE-2026-106574 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-190
- CVE-2026-106571 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-190
- CVE-2026-75820 GNU Aspell contains an integer truncation vulnerability in the WritableDict::add()… CWE-190