内容简介:报告编号:B6-2019-061801报告来源:360-CERT
报告编号:B6-2019-061801
报告来源:360-CERT
报告作者:360-CERT
更新日期:2019-06-18
0x00 漏洞描述
2019年6月18日,RedHat官网发布报告:安全研究人员在 Linux 内核处理TCP SACK数据包模块中发现了三个漏洞,CVE编号为CVE-2019-11477、CVE-2019-11478和CVE-2019-11479,其中CVE-2019-11477漏洞能够降低系统运行效率,并可能被远程攻击者用于拒绝服务攻击,影响程度严重。
360CERT 判断此次漏洞影响面广,危害严重,建议广大用户及时更新。
漏洞细节
SACK(Selective ACK)是TCP选项,它使得接收方能告诉发送方哪些报文段丢失,哪些报文段重传了,哪些报文段已经提前收到等信息。根据这些信息TCP就可以只重传哪些真正丢失的报文段。需要注意的是只有收到失序的分组时才会可能会发送SACK,TCP的ACK还是建立在累积确认的基础上的。
Linux SKB 最多可以容纳17个片段:
<code>linux/include/linux/skbuff.h</code><code>define MAX_SKB_FRAGS (65536/PAGE_SIZE + 1) => 17</code>
每个片段在x86(PowerPC上为64KB)的数据中最多可容纳32KB,当数据包将被发送时,它被放置在发送队列中,它的详细信息保存在控制缓冲区结构中:
<code>linux/include/linux/skbuff.h</code><code>structtcp_skb_cb {</code><code>__u32 seq; /* Starting sequence number */</code><code>__u32 end_seq; /* SEQ + FIN + SYN + datalen */</code><code>__u32 tcp_tw_isn;</code><code>struct {</code><code>u16 tcp_gso_segs;</code><code>u16 tcp_gso_size;</code><code>};</code><code>__u8 tcp_flags; /2* TCP header flags. (tcp[13]) */</code><code>…</code><code>} </code>
tcp_gso_segs用于记录数据包个数,类型为u16,最多记录65535个。但是SACK机制允许TCP在重传中合并多个SKB队列,从而填充17个片段到最大容量, 17 * 32 * 1024 / 8 = 69632,造成tcp_gso_segs整数溢出,进而触发BUG_ON()调用,导致内核崩溃。
<code>staticbooltcp_shifted_skb (struct sock *sk, …, unsigned int pcount, ...)</code><code>{</code><code>...</code><code>tcp_skb_pcount_add(prev, pcount);</code><code>BUG_ON(tcp_skb_pcount(skb) < pcount); <= SACK panic</code><code>tcp_skb_pcount_add(skb, -pcount);</code><code>…</code><code>} </code>
攻击者可以通过发送一系列特定的SACK包,触发内核模块的整数溢出漏洞,进而实行远程拒绝服务攻击。
0x01 影响版本
影响Linux 内核2.6.29及以上版本
0x02 修复方案
(1)及时更新补丁
Linux内核版本>=4.14需要打第二个补丁
(2)禁用SACK处理
echo 0 > /proc/sys/net/ipv4/tcp_sack
(3)使用过滤器来阻止攻击
此缓解需要禁用TCP探测时有效(即在/etc/sysctl.conf文件中将net.ipv4.tcp_mtu_probingsysctl设置为0)
(4)RedHat用户可以使用以下脚本来检查系统是否存在漏洞
https://access.redhat.com/sites/default/files/cve-2019-11477--2019-06-17-1629.sh
0x03 时间线
2019-06-17linux内核补丁公布
2019-06-18RedHat公布漏洞信息
2019-06-18360CERT发布漏洞预警
0x04 参考链接
声明:本文来自360CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。
以上所述就是小编给大家介绍的《Linux内核远程DoS漏洞 (CVE-2019-11477) 预警分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 漏洞预警 | 潜伏长达11年之久的Linux内核漏洞
- Linux内核本地提权漏洞预警分析(CVE-2019-8912)
- CVE-2019-11477:Linux 内核中TCP SACK机制远程Dos预警分析
- 漏洞预警 | Adobe ColdFusion远程命令执行漏洞预警(CVE-2018-15961)
- 讲讲用户的流失预警
- 讲讲用户的流失预警
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程思想 (第4版)
[美] Bruce Eckel / 陈昊鹏 / 机械工业出版社 / 2007-6 / 108.00元
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到......一起来看看 《Java编程思想 (第4版)》 这本书的介绍吧!