Cloudanix VulnDB

CVE-2016-10164

Critical · 9.8

CVSS

9.8

EPSS

7.6%

Published

Feb 1, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in an old image-processing library can let attackers take over computers by sending specially made image files, so organizations should update the affected software right away.

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 when parsing XPM extension counts or concatenated lengths on 64-bit platforms trigger a heap-based buffer overflow, enabling out-of-bounds writes that can lead to denial of service or arbitrary code execution.

Why it matters to the business

Successful exploitation allows remote attackers to compromise systems that process untrusted XPM images, potentially resulting in full control of affected applications or hosts; the issue impacts any software depending on vulnerable libXpm versions and raises operational risk for environments handling image files.

How an attack unfolds

An attacker supplies a crafted XPM file containing manipulated extension metadata that overflows integers during parsing; the resulting heap overflow is used to overwrite memory structures and inject or redirect execution to attacker-controlled code when the image is processed by a vulnerable application.

How to fix it

Upgrade to libXpm 3.5.12 or newer. For the listed packages apply the exact fixed versions nfs-subdir-external-provisioner (Chainguard) 4.0.18-r1 and nfs-subdir-external-provisioner (Wolfi) 4.0.18-r1. Rebuild and redeploy any dependent containers or binaries after the library update.

How to confirm the fix worked

Confirm the installed libXpm shared library reports version 3.5.12 or later; run regression tests that feed crafted XPM files with large extension fields and verify absence of crashes or memory errors.

Typical attack path

  1. Create malicious XPM file with oversized or negative extension counts and lengths
  2. Deliver the file via network, web upload, email attachment, or storage to a target application
  3. Trigger XPM parsing with extension support enabled on a 64-bit system
  4. Leverage the heap buffer overflow to achieve code execution or crash

How to detect it

Review application logs and crash reports for unexpected terminations while processing XPM files; inspect memory dumps or sanitizer output for heap-buffer-overflow signatures around XPM extension parsing routines.

What your security team should do

  • Immediately apply the listed package updates to reach libXpm 3.5.12+
  • Inventory all software that links against libXpm and schedule upgrades
  • Add XPM file handling to the list of high-risk inputs requiring sandboxing or filtering until patches are deployed

The record

Multiple integer overflows in libXpm before 3.5.12, when a program requests parsing XPM extensions on a 64-bit platform, allow remote attackers to cause a denial of service (out-of-bounds write) or execute arbitrary code via (1) the number of extensions or (2) their concatenated length in a crafted XPM file, which triggers a heap-based buffer overflow.

Affected packages

Ecosystem Package Introduced Fixed
Alpine:v3.2 libxpm 0 3.5.12-r0
Alpine:v3.3 libxpm 0 3.5.12-r0
Alpine:v3.4 libxpm 0 3.5.12-r0
Debian:11 libxpm 0 1:3.5.12-1
Debian:12 libxpm 0 1:3.5.12-1
Debian:13 libxpm 0 1:3.5.12-1
Debian:7 libxpm 0 1:3.5.10-1+deb7u1
Debian:8 libxpm 0 1:3.5.12-0+deb8u1
Mageia:5 libxpm 0 3.5.12-1.mga5
Red Hat:enterprise_linux:7::client drm-utils 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::client libICE 0 0:1.0.9-9.el7
Red Hat:enterprise_linux:7::client libICE-debuginfo 0 0:1.0.9-9.el7
Red Hat:enterprise_linux:7::client libICE-devel 0 0:1.0.9-9.el7
Red Hat:enterprise_linux:7::client libX11 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::client libX11-common 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::client libX11-debuginfo 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::client libX11-devel 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::client libXaw 0 0:1.0.13-4.el7
Red Hat:enterprise_linux:7::client libXaw-debuginfo 0 0:1.0.13-4.el7
Red Hat:enterprise_linux:7::client libXaw-devel 0 0:1.0.13-4.el7
Red Hat:enterprise_linux:7::client libXcursor 0 0:1.1.14-8.el7
Red Hat:enterprise_linux:7::client libXcursor-debuginfo 0 0:1.1.14-8.el7
Red Hat:enterprise_linux:7::client libXcursor-devel 0 0:1.1.14-8.el7
Red Hat:enterprise_linux:7::client libXdmcp 0 0:1.1.2-6.el7
Red Hat:enterprise_linux:7::client libXdmcp-debuginfo 0 0:1.1.2-6.el7
Red Hat:enterprise_linux:7::client libXdmcp-devel 0 0:1.1.2-6.el7
Red Hat:enterprise_linux:7::client libXfixes 0 0:5.0.3-1.el7
Red Hat:enterprise_linux:7::client libXfixes-debuginfo 0 0:5.0.3-1.el7
Red Hat:enterprise_linux:7::client libXfixes-devel 0 0:5.0.3-1.el7
Red Hat:enterprise_linux:7::client libXfont 0 0:1.5.2-1.el7
Red Hat:enterprise_linux:7::client libXfont-debuginfo 0 0:1.5.2-1.el7
Red Hat:enterprise_linux:7::client libXfont-devel 0 0:1.5.2-1.el7
Red Hat:enterprise_linux:7::client libXfont2 0 0:2.0.1-2.el7
Red Hat:enterprise_linux:7::client libXfont2-debuginfo 0 0:2.0.1-2.el7
Red Hat:enterprise_linux:7::client libXfont2-devel 0 0:2.0.1-2.el7
Red Hat:enterprise_linux:7::client libXi 0 0:1.7.9-1.el7
Red Hat:enterprise_linux:7::client libXi-debuginfo 0 0:1.7.9-1.el7
Red Hat:enterprise_linux:7::client libXi-devel 0 0:1.7.9-1.el7
Red Hat:enterprise_linux:7::client libXpm 0 0:3.5.12-1.el7
Red Hat:enterprise_linux:7::client libXpm-debuginfo 0 0:3.5.12-1.el7
Red Hat:enterprise_linux:7::client libXpm-devel 0 0:3.5.12-1.el7
Red Hat:enterprise_linux:7::client libXrandr 0 0:1.5.1-2.el7
Red Hat:enterprise_linux:7::client libXrandr-debuginfo 0 0:1.5.1-2.el7
Red Hat:enterprise_linux:7::client libXrandr-devel 0 0:1.5.1-2.el7
Red Hat:enterprise_linux:7::client libXrender 0 0:0.9.10-1.el7
Red Hat:enterprise_linux:7::client libXrender-debuginfo 0 0:0.9.10-1.el7
Red Hat:enterprise_linux:7::client libXrender-devel 0 0:0.9.10-1.el7
Red Hat:enterprise_linux:7::client libXt 0 0:1.1.5-3.el7
Red Hat:enterprise_linux:7::client libXt-debuginfo 0 0:1.1.5-3.el7
Red Hat:enterprise_linux:7::client libXt-devel 0 0:1.1.5-3.el7
Red Hat:enterprise_linux:7::client libXtst 0 0:1.2.3-1.el7
Red Hat:enterprise_linux:7::client libXtst-debuginfo 0 0:1.2.3-1.el7
Red Hat:enterprise_linux:7::client libXtst-devel 0 0:1.2.3-1.el7
Red Hat:enterprise_linux:7::client libXv 0 0:1.0.11-1.el7
Red Hat:enterprise_linux:7::client libXv-debuginfo 0 0:1.0.11-1.el7
Red Hat:enterprise_linux:7::client libXv-devel 0 0:1.0.11-1.el7
Red Hat:enterprise_linux:7::client libXvMC 0 0:1.0.10-1.el7
Red Hat:enterprise_linux:7::client libXvMC-debuginfo 0 0:1.0.10-1.el7
Red Hat:enterprise_linux:7::client libXvMC-devel 0 0:1.0.10-1.el7
Red Hat:enterprise_linux:7::client libXxf86vm 0 0:1.1.4-1.el7
Red Hat:enterprise_linux:7::client libXxf86vm-debuginfo 0 0:1.1.4-1.el7
Red Hat:enterprise_linux:7::client libXxf86vm-devel 0 0:1.1.4-1.el7
Red Hat:enterprise_linux:7::client libdrm 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::client libdrm-debuginfo 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::client libdrm-devel 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::client libepoxy 0 0:1.3.1-1.el7
Red Hat:enterprise_linux:7::client libepoxy-debuginfo 0 0:1.3.1-1.el7
Red Hat:enterprise_linux:7::client libepoxy-devel 0 0:1.3.1-1.el7
Red Hat:enterprise_linux:7::client libevdev 0 0:1.5.6-1.el7
Red Hat:enterprise_linux:7::client libevdev-debuginfo 0 0:1.5.6-1.el7
Red Hat:enterprise_linux:7::client libevdev-devel 0 0:1.5.6-1.el7
Red Hat:enterprise_linux:7::client libevdev-utils 0 0:1.5.6-1.el7
Red Hat:enterprise_linux:7::client libfontenc 0 0:1.1.3-3.el7
Red Hat:enterprise_linux:7::client libfontenc-debuginfo 0 0:1.1.3-3.el7
Red Hat:enterprise_linux:7::client libfontenc-devel 0 0:1.1.3-3.el7
Red Hat:enterprise_linux:7::client libinput 0 0:1.6.3-2.el7
Red Hat:enterprise_linux:7::client libinput-debuginfo 0 0:1.6.3-2.el7
Red Hat:enterprise_linux:7::client libinput-devel 0 0:1.6.3-2.el7
Red Hat:enterprise_linux:7::client libvdpau 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::client libvdpau-debuginfo 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::client libvdpau-devel 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::client libvdpau-docs 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::client libwacom 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::client libwacom-data 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::client libwacom-debuginfo 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::client libwacom-devel 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::client libxcb 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::client libxcb-debuginfo 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::client libxcb-devel 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::client libxcb-doc 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::client libxkbcommon 0 0:0.7.1-1.el7
Red Hat:enterprise_linux:7::client libxkbcommon-debuginfo 0 0:0.7.1-1.el7
Red Hat:enterprise_linux:7::client libxkbcommon-devel 0 0:0.7.1-1.el7
Red Hat:enterprise_linux:7::client libxkbcommon-x11 0 0:0.7.1-1.el7
Red Hat:enterprise_linux:7::client libxkbcommon-x11-devel 0 0:0.7.1-1.el7
Red Hat:enterprise_linux:7::client libxkbfile 0 0:1.0.9-3.el7
Red Hat:enterprise_linux:7::client libxkbfile-debuginfo 0 0:1.0.9-3.el7
Red Hat:enterprise_linux:7::client libxkbfile-devel 0 0:1.0.9-3.el7
Red Hat:enterprise_linux:7::client mesa 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-debuginfo 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-dri-drivers 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-filesystem 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libEGL 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libEGL-devel 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libGL 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libGL-devel 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libGLES 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libGLES-devel 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libOSMesa 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libOSMesa-devel 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libgbm 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libgbm-devel 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libglapi 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libxatracker 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-libxatracker-devel 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client mesa-private-llvm 0 0:3.9.1-3.el7
Red Hat:enterprise_linux:7::client mesa-private-llvm-debuginfo 0 0:3.9.1-3.el7
Red Hat:enterprise_linux:7::client mesa-private-llvm-devel 0 0:3.9.1-3.el7
Red Hat:enterprise_linux:7::client mesa-vulkan-drivers 0 0:17.0.1-6.20170307.el7
Red Hat:enterprise_linux:7::client vulkan 0 0:1.0.39.1-2.el7
Red Hat:enterprise_linux:7::client vulkan-debuginfo 0 0:1.0.39.1-2.el7
Red Hat:enterprise_linux:7::client vulkan-devel 0 0:1.0.39.1-2.el7
Red Hat:enterprise_linux:7::client vulkan-filesystem 0 0:1.0.39.1-2.el7
Red Hat:enterprise_linux:7::client xcb-proto 0 0:1.12-2.el7
Red Hat:enterprise_linux:7::client xkeyboard-config 0 0:2.20-1.el7
Red Hat:enterprise_linux:7::client xkeyboard-config-devel 0 0:2.20-1.el7
Red Hat:enterprise_linux:7::client xorg-x11-proto-devel 0 0:7.7-20.el7
Red Hat:enterprise_linux:7::computenode drm-utils 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::computenode libICE 0 0:1.0.9-9.el7
Red Hat:enterprise_linux:7::computenode libICE-debuginfo 0 0:1.0.9-9.el7
Red Hat:enterprise_linux:7::computenode libICE-devel 0 0:1.0.9-9.el7
Red Hat:enterprise_linux:7::computenode libX11 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::computenode libX11-common 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::computenode libX11-debuginfo 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::computenode libX11-devel 0 0:1.6.5-1.el7
Red Hat:enterprise_linux:7::computenode libXaw 0 0:1.0.13-4.el7
Red Hat:enterprise_linux:7::computenode libXaw-debuginfo 0 0:1.0.13-4.el7
Red Hat:enterprise_linux:7::computenode libXaw-devel 0 0:1.0.13-4.el7
Red Hat:enterprise_linux:7::computenode libXcursor 0 0:1.1.14-8.el7
Red Hat:enterprise_linux:7::computenode libXcursor-debuginfo 0 0:1.1.14-8.el7
Red Hat:enterprise_linux:7::computenode libXcursor-devel 0 0:1.1.14-8.el7
Red Hat:enterprise_linux:7::computenode libXdmcp 0 0:1.1.2-6.el7
Red Hat:enterprise_linux:7::computenode libXdmcp-debuginfo 0 0:1.1.2-6.el7
Red Hat:enterprise_linux:7::computenode libXdmcp-devel 0 0:1.1.2-6.el7
Red Hat:enterprise_linux:7::computenode libXfixes 0 0:5.0.3-1.el7
Red Hat:enterprise_linux:7::computenode libXfixes-debuginfo 0 0:5.0.3-1.el7
Red Hat:enterprise_linux:7::computenode libXfixes-devel 0 0:5.0.3-1.el7
Red Hat:enterprise_linux:7::computenode libXfont 0 0:1.5.2-1.el7
Red Hat:enterprise_linux:7::computenode libXfont-debuginfo 0 0:1.5.2-1.el7
Red Hat:enterprise_linux:7::computenode libXfont-devel 0 0:1.5.2-1.el7
Red Hat:enterprise_linux:7::computenode libXfont2 0 0:2.0.1-2.el7
Red Hat:enterprise_linux:7::computenode libXfont2-debuginfo 0 0:2.0.1-2.el7
Red Hat:enterprise_linux:7::computenode libXfont2-devel 0 0:2.0.1-2.el7
Red Hat:enterprise_linux:7::computenode libXi 0 0:1.7.9-1.el7
Red Hat:enterprise_linux:7::computenode libXi-debuginfo 0 0:1.7.9-1.el7
Red Hat:enterprise_linux:7::computenode libXi-devel 0 0:1.7.9-1.el7
Red Hat:enterprise_linux:7::computenode libXpm 0 0:3.5.12-1.el7
Red Hat:enterprise_linux:7::computenode libXpm-debuginfo 0 0:3.5.12-1.el7
Red Hat:enterprise_linux:7::computenode libXpm-devel 0 0:3.5.12-1.el7
Red Hat:enterprise_linux:7::computenode libXrandr 0 0:1.5.1-2.el7
Red Hat:enterprise_linux:7::computenode libXrandr-debuginfo 0 0:1.5.1-2.el7
Red Hat:enterprise_linux:7::computenode libXrandr-devel 0 0:1.5.1-2.el7
Red Hat:enterprise_linux:7::computenode libXrender 0 0:0.9.10-1.el7
Red Hat:enterprise_linux:7::computenode libXrender-debuginfo 0 0:0.9.10-1.el7
Red Hat:enterprise_linux:7::computenode libXrender-devel 0 0:0.9.10-1.el7
Red Hat:enterprise_linux:7::computenode libXt 0 0:1.1.5-3.el7
Red Hat:enterprise_linux:7::computenode libXt-debuginfo 0 0:1.1.5-3.el7
Red Hat:enterprise_linux:7::computenode libXt-devel 0 0:1.1.5-3.el7
Red Hat:enterprise_linux:7::computenode libXtst 0 0:1.2.3-1.el7
Red Hat:enterprise_linux:7::computenode libXtst-debuginfo 0 0:1.2.3-1.el7
Red Hat:enterprise_linux:7::computenode libXtst-devel 0 0:1.2.3-1.el7
Red Hat:enterprise_linux:7::computenode libXv 0 0:1.0.11-1.el7
Red Hat:enterprise_linux:7::computenode libXv-debuginfo 0 0:1.0.11-1.el7
Red Hat:enterprise_linux:7::computenode libXv-devel 0 0:1.0.11-1.el7
Red Hat:enterprise_linux:7::computenode libXxf86vm 0 0:1.1.4-1.el7
Red Hat:enterprise_linux:7::computenode libXxf86vm-debuginfo 0 0:1.1.4-1.el7
Red Hat:enterprise_linux:7::computenode libXxf86vm-devel 0 0:1.1.4-1.el7
Red Hat:enterprise_linux:7::computenode libdrm 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::computenode libdrm-debuginfo 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::computenode libdrm-devel 0 0:2.4.74-1.el7
Red Hat:enterprise_linux:7::computenode libepoxy 0 0:1.3.1-1.el7
Red Hat:enterprise_linux:7::computenode libepoxy-debuginfo 0 0:1.3.1-1.el7
Red Hat:enterprise_linux:7::computenode libepoxy-devel 0 0:1.3.1-1.el7
Red Hat:enterprise_linux:7::computenode libfontenc 0 0:1.1.3-3.el7
Red Hat:enterprise_linux:7::computenode libfontenc-debuginfo 0 0:1.1.3-3.el7
Red Hat:enterprise_linux:7::computenode libfontenc-devel 0 0:1.1.3-3.el7
Red Hat:enterprise_linux:7::computenode libvdpau 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::computenode libvdpau-debuginfo 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::computenode libvdpau-devel 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::computenode libvdpau-docs 0 0:1.1.1-3.el7
Red Hat:enterprise_linux:7::computenode libwacom 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::computenode libwacom-data 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::computenode libwacom-debuginfo 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::computenode libwacom-devel 0 0:0.24-1.el7
Red Hat:enterprise_linux:7::computenode libxcb 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::computenode libxcb-debuginfo 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::computenode libxcb-devel 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::computenode libxcb-doc 0 0:1.12-1.el7
Red Hat:enterprise_linux:7::computenode libxkbcommon 0 0:0.7.1-1.el7
Red Hat:enterprise_linux:7::computenode libxkbcommon-debuginfo 0 0:0.7.1-1.el7

Related vulnerabilities