Xen超虚拟化帧缓冲区后端帧缓冲区处理漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1186816 漏洞类型 缓冲区溢出
发布时间 2008-05-13 更新时间 2008-10-15
CVE编号 CVE-2008-1943 CNNVD-ID CNNVD-200805-147
漏洞平台 N/A CVSS评分 2.1
|漏洞来源
https://www.securityfocus.com/bid/29183
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200805-147
|漏洞详情
Xen是英国剑桥大学开发的一款开源的虚拟机监视器产品。该产品能够使不同和不兼容的操作系统运行在同一台计算机上,并支持在运行时进行迁移,保证正常运行并且避免宕机。Xen中超虚拟化帧缓冲区(PVFB)后端没有验证前端的帧缓冲区描述,这可能允许恶意用户导致拒绝服务或使用特制的前端入侵特权域Dom0。帧缓冲区是由以下参数描述的:*fb_len(共享帧缓冲区大小)*width,height,depth*row_stride,offset在启动时fb_len是固定大小,前端可以通过发送XENFB_TYPE_RESIZE事件修改其他参数。如果存在后端配置参数videoram的话,xenfb_read_frontend_fb_config()会根据这个参数限制fb_len。xenfb_map_fb()使用fb_len映射前端的帧缓冲区,除非有videoram参数的限制,否则前端就可以使该函数映射任意大小。xenfb_register_console()和xenfb_on_fb_event()向QEMU的DisplayState对象传送width、height、depth和rowstride参数。如果参数允许的话,DisplayState对象直接操作帧缓冲区(shared_buf为true),否则分配大小为height*width*depth/8的内部缓冲区(shared_buf为false)。xenfb_on_fb_event()使用width和height参数确定升级事件的区域,然后将该区域传送给xenfb_guest_copy();xenfb_invalidate()将完整的屏幕区域传送给xenfb_guest_copy();除非shared_buf为true,否则xenfb_guest_copy()将参数区域(x,y,w,h)拷贝到内部缓冲区,这会拷贝h块内存;从0开始计算的第i次拷贝将共享帧缓冲区的w*depth/8字节+offset+(y+i)*row_stride+x*depth/8拷贝到了内部缓冲区+(y+i)*ds->linesize+x*ds->depth/8。(这里ds->linesize和ds->depth是后端所指定的内部缓冲区)上述拷贝操作会导致读取读取共享的帧缓冲区并越界写入到内部缓冲区。前端可以利用这个漏洞写入到任意后端内存,导致拒绝服务或入侵特权域。
|受影响的产品
XenSource Xen 3.2 XenSource Xen 3.1.2 XenSource Xen 3.1.1 XenSource Xen 3.0.3 XenSource Xen 3.0 Redhat Enterprise Linux Virtualization 5 Server Redhat En
|参考资料

来源:bugzilla.redhat.com
链接:https://bugzilla.redhat.com/show_bug.cgi?id=443078
来源:XF
名称:xen-pvfb-description-dos(42387)
链接:http://xforce.iss.net
来源:XF
名称:xen-pvfb-description-dos(42387)
链接:http://xforce.iss.net/xforce/xfdb/42387
来源:SECTRACK
名称:1020008
链接:http://www.securitytracker.com/id?1020008
来源:BID
名称:29183
链接:http://www.securityfocus.com/bid/29183
来源:REDHAT
名称:RHSA-2008:0194
链接:http://www.redhat.com/support/errata/RHSA-2008-0194.html
来源:VUPEN
名称:ADV-2008-1900
链接:http://www.frsirt.com/english/advisories/2008/1900/references
来源:SECUNIA
名称:30781
链接:http://secunia.com/advisories/30781
来源:SECUNIA
名称:29963
链接:http://secunia.com/advisories/29963