input.c文件释放后使用漏洞

发布日期:2010-03-31
更新日期:2010-04-08

受影响系统:
Linux kernel 2.6.x
不受影响系统:
Linux kernel 2.6.20
描述:
--------------------------------------------------------------------------------
CVE ID: CVE-2010-1188

Linux Kernel是开放源码操作系统Linux所使用的内核

Linux Kernel的net/ipv4/tcp_input.c文件中存在释放后使用漏洞。在对监听套接字设置IPV6_RECVPKTINFO时,这个漏洞允许攻击者在套接字仍处于监听状态(TCP_LISTEN)期间发送SYN报文导致内核忙碌。

漏洞的起因是tcp_rcv_state_process()中强行释放了skb。当处于TCP_LISTEN状态的套接字接收到了syn报文,就会从tcp_rcv_state_process()调用tcp_v6_conn_request()。如果tcp_v6_conn_request()成功的返回,__kfree_skb()会抛弃skb。但对于设置了IPV6_RECVPKTINFO的监听套接字,skb的地址会存储在treq->pktopts中,tcp_v6_conn_request()中会递增skb的引用计数器。即使skb仍在使用中也会被释放,之后使用已释放skb的用户会导致内核忙碌。

<*来源:Eugene Teo (eugeneteo@eugeneteo.net
 
  链接:https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=577711
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

Linux
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpwwz.html