文档首页> 云容器引擎 CCE> 服务公告> 漏洞公告> 修复Linux内核SACK漏洞公告
更新时间:2023-08-02 GMT+08:00

修复Linux内核SACK漏洞公告

漏洞详情

2019年6月18日,Redhat发布安全公告,Linux内核处理器TCP SACK模块存在3个安全漏洞(CVE-2019-11477、CVE-2019-11478、CVE-2019-11479),这些漏洞与最大分段大小(MSS)和TCP选择性确认(SACK)功能相关,攻击者可远程发送特殊构造的攻击包造成拒绝服务攻击,导致服务器不可用或崩溃。

华为云CCE团队已经紧急修复Linux内核SACK漏洞,并已发布解决方案。

参考链接:

https://www.suse.com/support/kb/doc/?id=7023928

https://access.redhat.com/security/vulnerabilities/tcpsack

https://www.debian.org/lts/security/2019/dla-1823

https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SACKPanic?

https://lists.centos.org/pipermail/centos-announce/2019-June/023332.html

https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md

表1 漏洞信息

漏洞类型

CVE-ID

漏洞级别

披露/发现时间

华为云修复时间

输入验证错误

CVE-2019-11477

2019-06-17

2019-07-06

资源管理错误

CVE-2019-11478

2019-06-17

2019-07-06

资源管理错误

CVE-2019-11479

2019-06-17

2019-07-06

漏洞影响

影响Linux内核2.6.29及以上版本。

漏洞修复方案

此问题已在稳定内核版本4.4.182、4.9.182、4.14.127、4.19.52、5.1.11中修复,用户通过滚动升级节点即可。

附:TCP SACK介绍

TCP是面向连接的协议。当双方希望通过TCP连接进行通信时,他们通过TCP握手交换某些信息建立连接,例如发起一个TCP请求,通过SYN发送初始序列ID,确认ID,连接使用的最大数据包段大小(MSS),认证信息和处理选择性确认(SACK)等。整体TCP连接通过我们熟知的三次握手最终建立。

TCP通过一个数据段单元发送和接收用户数据包。 TCP数据段由TCP头,选项和用户数据组成。每个TCP段都有序列号(SEQ)和确认号(ACK)。

接收方通过SEQ号和ACK号来跟踪成功接收了哪些段。ACK号下一个预期接受的段。

示例:

上图中用户A通过13个100字节的段发送1k字节的数据,每个段具有20字节的TCP头,总计是13个段。在接收端,用户B接收了段1,2,4,6,8-13,而段3,5和7丢失,B没有接收到。

通过使用ACK号,用户B告诉A,他需要段3,用户A收到B接收到2,而没有收到3,A将重新发送全部段,尽管B已经收到了4,6和8-13段。所以导致大量重复传输,性能低下。