Linux Kernel XDR实现本地缓冲区溢出漏洞

漏洞起因
边界条件错误
危险等级

 
影响系统
RedHat Enterprise Linux WS 4
RedHat Enterprise Linux ES 4.8.z
RedHat Enterprise Linux ES 4
RedHat Enterprise Linux AS 4.8.z
RedHat Enterprise Linux AS 4
 
不受影响系统
 
危害
远程攻击者可以利用漏洞使内核崩溃,造成拒绝服务攻击。
 
攻击所需条件
攻击者必须访问Linux NFSv4。
 
漏洞信息
Linux是一款开放源代码的操作系统。
Linux内核NFS V4的XDR实现存在缓冲区溢出,攻击者可以利用漏洞对系统进行拒绝服务攻击。
当调用read_but移动NFSv4请求页面列表中的下一个页面时,它会设置随机数给argp->end,当然不会是argp->p目前指向页中的地址,因此随后对READ_BUF的调用会认为有超过一页的多余空间(对U32的CAST操作以确保是个无符号比较),因此所期的是落到第二页的末尾,造成缓冲区覆盖溢出。
本地网络攻击者可以想NFSv4服务器发送特殊构建的超大的复合请求触发内核Panic,造成拒绝服务攻击。
 
测试方法
 
厂商解决方案
用户可参考如下供应商提供的安全补丁:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2bc3c1179c781b359d4f2f3439cb3df72afc17fc
 
漏洞提供者
Red Hat

发表评论?

0 条评论。

发表评论