linux内核远程漏洞,Linux内核远程DoS漏洞 (CVE-2019-11477) 预警分析
报告编号: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个片段:
linux/include/linux/skbuff.h
define MAX_SKB_FRAGS (65536/PAGE_SIZE + 1) => 17
每个片段在x86(PowerPC上为64KB)的数据中最多可容纳32KB,当数据包将被发送时,它被放置在发送队列中,它的详细信息保存在控制缓冲区结构中:
linux/include/linux/skbuff.h
structtcp_skb_cb {
__u32 seq; /* Starting sequence number */
__u32 end_seq; /* SEQ + FIN + SYN + datalen */
__u32 tcp_tw_isn;
struct {
u16 tcp_gso_segs;
u16 tcp_gso_size;
};
__u8 tcp_flags; /2* TCP header flags. (tcp[13]) */
…
}
tcp_gso_segs用于记录数据包个数,类型为u16,最多记录65535个。但是SACK机制允许TCP在重传中合并多个SKB队列,从而填充17个片段到最大容量, 17 * 32 * 1024 / 8 = 69632,造成tcp_gso_segs整数溢出,进而触发BUG_ON()调用,导致内核崩溃。
staticbooltcp_shifted_skb (struct sock *sk, …, unsigned int pcount, ...)
{
...
tcp_skb_pcount_add(prev, pcount);
BUG_ON(tcp_skb_pcount(skb) < pcount); <= SACK panic
tcp_skb_pcount_add(skb, -pcount);
…
}
攻击者可以通过发送一系列特定的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用户可以使用以下脚本来检查系统是否存在漏洞
0x03 时间线
2019-06-17linux内核补丁公布
2019-06-18RedHat公布漏洞信息
2019-06-18360CERT发布漏洞预警
0x04 参考链接
声明:本文来自360CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。
linux内核远程漏洞,Linux内核远程DoS漏洞 (CVE-2019-11477) 预警分析相关推荐
- linux内核系列远程拒绝服务漏洞,预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响...
近日,腾讯云安全中心监测到Linux 内核被曝存在TCP "SACK Panic" 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE- ...
- 最新Linux内核本地DoS漏洞CVE-2017-8064 4.10.12之前版本均受影响 还有一个CVE-2017-7979...
今天SecurityFocus刚刚更新的消息,Linux内核本地拒绝服务漏洞CVE-2017-8064,Linux kernel 4.10.12之前版本全部受影响.攻击者利用该漏洞可以实施本地拒绝服务 ...
- clion远程调试linux内核,Clion + 树莓派/Ubuntu 远程调试
Clion进行远程调试 在大三下半学期学习Linux高级编程时,老师布置的作业要在linux机器上进行,当时完成的十分艰苦,调试难受的一匹,当时就萌生了这个想法,因为Jetbrains官方文档的晦涩( ...
- linux内核关闭igmp,Linux kernel IGMP多个安全漏洞
受影响系统: Linux kernel 2.6.9 Linux kernel 2.6.8 Linux kernel 2.6.7 Linux kernel 2.6.6 Linux kernel 2.6. ...
- 异域linux内核漏洞,Linux内核再现漏洞!这次11年后才发现
原标题:Linux内核再现漏洞!这次11年后才发现 还记得上一次Linux内核出现大的漏洞是什么时候吗?2009年Linux内核出现严重安全漏洞,直到2014年才被发现,这个严重安全漏洞整整存在了5年 ...
- linux 远程拒绝服务,Linux Kernel SCTP远程拒绝服务漏洞
发布日期:2011-08-30 更新日期:2011-08-30 受影响系统: Linux kernel 2.6.x 描述: -------------------------------------- ...
- CVE-2021-20226:详解 Linux 内核 IO_URING 子系统中的引用计数漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 趋势科技 ZDI 发布文章,详细描述了2020年6月收到的最近引入的 io_uring 子系统的引用计数漏洞情况.该漏洞导致在任意 fil ...
- 游戏安全资讯精选 2017年第十六期:房卡式棋牌游戏涉赌博风波,抓娃娃火爆市场背后的安全隐患需警惕,Linux内核的Huge Dirty Cow权限提升漏洞...
[每周游戏行业DDoS态势] [游戏行业安全动态]房卡式棋牌游戏涉赌博风波 概要:近日隔壁棋牌游戏公司先后因涉赌被处理的消息,引发业内广泛关注.多名业内人士认为,出现这种事,并不应该由房卡模式来&qu ...
- Linux Glibc幽灵漏洞允许黑客远程获取系统权限
幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者在不了解系统的任何情况下远程获取操作系统的控制权限.目前他的CVE编号为CVE-2015-0235. 什么是glibc gl ...
- linux远程溢出,Linux netkit in.telnetd远程溢出漏洞
Linux netkit in.telnetd远程溢出漏洞 2008-04-09 04:30:32来源:互联网 阅读 () Linux netkit in.telnetd远程溢出漏洞 发布日期:200 ...
最新文章
- 收藏 | 使用Mask-RCNN在实例分割应用中克服过拟合
- 项目案例分享二:密码策略与上次交互式登录
- REVERSE-PRACTICE-BUUCTF-20
- 微信小程序流量主+直播开通和编码指南
- RabbitMQ ACK 机制的意义
- bzoj2763 [JLOI2011]飞行路线
- 数字证书及CA的详细理解
- URLEncoder和URLDecoder;cookie中保存特殊字符以及URL中乱码问题解决方案
- ubuntu下锐捷客户端连接校园网
- 使用QT编写视频播放器总结
- JavaEE:MySQL主从配置
- 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda
- 昆明二级计算机考试报名时间2015,2015年国家司法考试昆明考区公告
- c语言 发纸牌 实验报告,“21点”纸牌游戏实验报告
- Meyer Burger获中国客户1800万瑞士法郎光伏设备订单
- 程序员每天每周每月每年应该做的事
- ODB 入门介绍(二)
- 显卡发展史浅谈 显卡历史大全
- QT职工工资管理系统
- 华为交换机关机方法_取消华为交换机Console配置密码S2700\3700\5700\6700系列