CNNVD-ID编号 | CNNVD-200610-310 |
CVE编号 | CVE-2006-5379 |
发布时间 | 2006-10-18 |
更新时间 | 2006-10-19 |
漏洞类型 | 边界条件错误 |
漏洞来源 | N/A |
危险等级 | 高危 |
威胁类型 | 远程 |
厂 商 | nvidia |
NVidia是世界领先的图形处理芯片和显卡制造商。
NVIDIA的二进制blob驱动在加速渲染glyphs(文本字符数据)时存在缓冲区溢出,攻击者可以向内存中的任意位置写入数据。
XRender扩展提供一个名为XRenderCompositeString8的客户端函数要求X服务器在屏幕上渲染glyphs。服务程序的ProcRenderCompositeGlpyhs函数会处理这个请求,从渲染请求中提取出glyphs,创建一个glyph列表,然后通过注册的回调函数调用图形驱动。
NVIDIA二进制blob驱动注册一个名为_nv000373X的函数,用于计算glyph数据所占用所有区域的边界BoxRec,然后使用Xalloc分配width * height的缓冲区来容纳数据。这个缓冲区会被传送给另一个名为_nv000053X的内部函数。
_nv000053X函数迭代glyph列表,并使用每个glyph的累积宽度、xOff高度和yOff值计算出缓冲区中的目标位置,将数据拷贝到缓冲区。NVIDIA二进制blob驱动没有对这个计算检查所分配缓冲区的大小,因此攻击者可以使用一系列glyphs导致函数写入内存中的任意位置。
glyph数据是通过X客户端提供给X服务端的,因此远程X客户端可以利用这个漏洞在X客户端上获得root权限。
临时解决方法:
* 禁用二进制blob驱动,使用X默认捆绑的nv驱动。
Gentoo已经为此发布了一个安全公告(GLSA-200611-03)以及相应补丁:
GLSA-200611-03:NVIDIA binary graphics driver: Privilege escalation
链接:
http://security.gentoo.org/glsa/glsa-200611-03.xml
NVIDIA二进制图形驱动用户应升级到最新版本:
# emerge --sync
# emerge --ask --oneshot --verbose ">=x11-drivers/nvidia-drivers-1.0.8776"
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://download.nvidia.com/XFree86/Linux-x86_64/1.0-8776/NVIDIA-Linux-x86_64-1.0-8776-pkg2.run
来源: VU#147252
名称: VU#147252
来源: BUGTRAQ
名称: 20061016 Rapid7 Advisory R7-0025: Buffer Overflow in NVIDIA Binary Graphics Driver For Linux
链接:http://www.securityfocus.com/archive/1/archive/1/448860/100/0/threaded
来源: MISC
来源: VUPEN
名称: ADV-2006-4053
来源: SECTRACK
名称: 1017072
来源: SECUNIA
名称: 22419
来源: MISC
来源: XF
名称: nvidia-linux-driver-bo(29622)
来源: UBUNTU
名称: USN-377-1
来源: BID
名称: 20559
来源: BUGTRAQ
名称: 20061113 Re: [ GLSA 200611-03 ] NVIDIA binary graphics driver: Privilege escalation vulnerability
链接:http://www.securityfocus.com/archive/1/archive/1/451329/100/0/threaded
来源: MANDRIVA
名称: MDKSA-2007:007
链接:http://www.mandriva.com/security/advisories?name=MDKSA-2007:007
来源: VUPEN
名称: ADV-2006-4328
来源: SUNALERT
名称: 102693
链接:http://sunsolve.sun.com/search/document.do?assetkey=1-26-102693-1
来源: SREASON
名称: 1742
来源: GENTOO
名称: GLSA-200611-03
来源: SECUNIA
名称: 23678
来源: SECUNIA
名称: 22764
来源: SECUNIA
名称: 22730
来源: SECUNIA
名称: 22676
来源: nvidia.custhelp.com
链接:http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_adp.php?p_faqid=1971