CVE:CVE-2004-0688
CNNVD:CNNVD-200410-062
libXpm是一款对XPM进行解码的库系统。
libXpm多处不正确检查边界缓冲区长度，远程攻击者可以利用这个漏洞可能以用户进程权限执行任意指令。
问题一是xpmParseColors (parse.c)中的堆栈缓冲区溢出：
XPMv1和XPMv2/3解析代码中不安全使用strcat()，可导致缓冲区溢出。
第二个问题是xpmParseColors (parse.c)中分配colorTable存在整数溢出问题，问题存在于如下：
colorTable = (XpmColor *) XpmCalloc(ncolors， sizeof(XpmColor));
ncolors可来自不可信的XPM文件。
第三个问题是ParseAndPutPixels (create.c)读取象素时存在堆栈缓冲区溢出。
构建恶意的XPM文件，诱使用户访问可导致以用户进程权限执行任意指令。
solution:Upgrade x.org x11r6 to a higher version than 6.7.0,6.8,and avoid the version 6.7.0,6.8; Upgrade xfree86_project x11r6 to a higher version than 3.3.6,4.0,4.0.1,4.0.2.11,4.0.3,4.1.0,4.1.11,4.1.12,4.2.0,4.2.1,4.3.0,and avoid the version 3.3.6,4.0,4.0.1,4.0.2.11,4.0.3,4.1.0,4.1.11,4.1.12,4.2.0,4.2.1,4.3.0; Upgrade openbsd openbsd to a higher version than 3.4,3.5,and avoid the version 3.4,3.5; Upgrade suse suse_linux to a higher version than 8,8.1,8.2,9.0,9.1,and avoid the version 8,8.1,8.2,9.0,9.1