安全研究
安全漏洞
CUPS HP-GL/2过滤器缓冲区溢出漏洞
发布日期:2008-10-09
更新日期:2008-10-13
受影响系统:
Apple Mac OS X 10.5.5不受影响系统:
Apple Mac OS X 10.4.11
Easy Software Products CUPS < 1.3.9
Easy Software Products CUPS 1.3.9描述:
BUGTRAQ ID: 31688
CVE(CAN) ID: CVE-2008-3641
Common Unix Printing System(CUPS)是一款通用Unix打印系统,是Unix环境下的跨平台打印解决方案,基于Internet打印协议,提供大多数PostScript和raster打印机服务。
CUPS的惠普图形语言过滤器(HP-GL/2)没有对pen width和pen color opcode执行充分的边界检查,可能导致覆盖任意内存并以hgltops进程uid的权限执行任意指令。
filter/hpgltops.h:
typedef struct
{
float rgb[3]; /* Pen color */
float width; /* Pen width */
} pen_t;
VAR pen_t Pens[1024]; /* State of each pen */
filter/hpgl-attr.c:PW_pen_width():
float w;
...
[323] w = (float)hypot(PlotSize[0], PlotSize[1]) / 1016.0f * 72.0f;
if (num_params == 0)
w *= 0.01f;
else
[328] w *= params[0].value.number;
...
pen = (int)params[1].value.number;
[335] Pens[pen].width = w;
在[355]行没有对用户提供的索引值执行检查,攻击者可以控制PlotSize[0]和PlotSize[1]的值。如果将opcode PS和pen width值选择为1.0并在[328]行提供适当的乘数,攻击者就可以使用任意数据覆盖内存地址。
filter/hpgl-attr.c:PC_pen_color():
i = (int)params[0].value.number;
...
Pens[i].rgb[0] = (params[1].value.number - ColorRange[0][0]) /
(ColorRange[0][1] - ColorRange[0][0]);
Pens[i].rgb[1] = (params[2].value.number - ColorRange[1][0]) /
(ColorRange[1][1] - ColorRange[1][0]);
Pens[i].rgb[2] = (params[3].value.number - ColorRange[2][0]) /
(ColorRange[2][1] - ColorRange[2][0]);
<*来源:regenrecht
链接:http://secunia.com/advisories/32226/
http://www.cups.org/str.php?L2911
http://marc.info/?l=bugtraq&m=122365393714572&w=2
http://support.apple.com/kb/HT3216
https://www.redhat.com/support/errata/RHSA-2008-0937.html
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
建议:
厂商补丁:
Apple
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.apple.com/support/downloads/securityupdate2008007serverleopard.html
http://www.apple.com/support/downloads/securityupdate2008007clientleopard.html
Easy Software Products
----------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.cups.org/software.php?VERSION=1.4svn-r7995&FILE=cups/1.3.9/cups-1.3.9-source.tar.bz2
RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2008:0937-01)以及相应补丁:
RHSA-2008:0937-01:Important: cups security update
链接:https://www.redhat.com/support/errata/RHSA-2008-0937.html
浏览次数:2407
严重程度:0(网友投票)
绿盟科技给您安全的保障
