资讯公告
  • 你的位置:
  • 首页
  • >
  • 资讯公告
  • >
  • 本站公告
  • >
  • Linux和FreeBSD内核:多个基于TCP的远程拒绝服务漏洞
Linux和FreeBSD内核:多个基于TCP的远程拒绝服务漏洞
发布时间:2019-06-25 发布者:FebHost

标题:Linux和FreeBSD内核:多个基于TCP的远程拒绝服务漏洞

发布日期:2019-06-17

严重性:严重


概述:

Netflix已经在FreeBSD和Linux内核中发现了几个TCP网络漏洞。

这些漏洞特别涉及最大段大小(MSS)和TCP选择性确认(SACK)功能。最严重的,被称为“SACK恐慌 ”,允许在最近的Linux内核上远程触发内核恐慌。

有补丁可以解决大多数这些漏洞。如果无法应用补丁,某些缓解措施将会有效。我们建议受影响的各方根据其环境制定下述方法之一。


细节:

1:CVE-2019-11477:SACK恐慌(Linux> = 2.6.29)

描述: 可以制作一系列SACK,以便可以触发整数溢出,从而导致内核崩溃。

修复:应用修补程序PATCH_net_1_4.patch。此外,Linux内核版本(包括4.14版本)需要第二个补丁PATCH_net_1a.patch。

解决方法#1:使用提供的过滤器之一阻止与低MSS的连接。(过滤器中的值是示例。您可以根据您的环境应用更高或更低的限制。)请注意,这些过滤器可能会破坏依赖于低MSS的合法连接。另请注意,此缓解仅在禁用TCP探测时有效(即,net.ipv4.tcp_mtu_probingsysctl设置为0,这似乎是该sysctl的默认值)。

解决方法#2:禁用SACK处理(/proc/sys/net/ipv4/tcp_sack设置为0)。

(请注意,任何一种解决方法都应该足够了。没有必要同时应用这两种解决方法。)


2:CVE-2019-11478:SACK缓慢(Linux <4.15)或过多的资源使用(所有Linux版本)

描述:可以发送一个精心设计的SACK序列,它将分解TCP重传队列。在4.15之前的Linux内核上,攻击者可能能够进一步利用分段队列,为后续针对同一TCP连接接收的SACK导致昂贵的链表行走。

修复:应用修补程序PATCH_net_2_4.patch

解决方法#1:使用提供的过滤器之一阻止与低MSS的连接。(过滤器中的值是示例。您可以根据您的环境应用更高或更低的限制。)请注意,这些过滤器可能会破坏依赖于低MSS的合法连接。另请注意,此缓解仅在禁用TCP探测时有效(即,net.ipv4.tcp_mtu_probingsysctl设置为0,这似乎是该sysctl的默认值)。

解决方法#2:禁用SACK处理(/proc/sys/net/ipv4/tcp_sack设置为0)。

(请注意,任何一种解决方法都应该足够了。没有必要同时应用这两种解决方法。)


3:CVE-2019-5599:SACK Slowness(使用RACK TCP堆栈的FreeBSD 12)

描述:可以发送一个精心设计的SACK序列,它将分割RACK发送映射。攻击者可能能够进一步利用分段发送映射来为后续针对该相同TCP连接接收的SACK引起昂贵的链表行走。

解决方法#1:应用补丁split_limit.patch并将net.inet.tcp.rack.split_limitsysctl设置为合理的值以限制SACK表的大小。

解决方法#2:暂时禁用RACK TCP堆栈。

(请注意,任何一种解决方法都应该足够了。没有必要同时应用这两种解决方法。)


4:CVE-2019-11479:由于MSS值较低导致的过多资源消耗(所有Linux版本)

说明:攻击者可以强制Linux内核将其响应分段为多个TCP段,每个TCP段仅包含8个字节的数据。这大大增加了提供相同数据量所需的带宽。此外,它消耗额外的资源(CPU和NIC处理能力)。此攻击需要攻击者不断努力,攻击将在攻击者停止发送流量后立即结束。

修复:两个补丁PATCH_net_3_4.patch和PATCH_net_4_4.patch添加一个sysctl,它强制执行sysctl设置的最小MSS net.ipv4.tcp_min_snd_mss。这使管理员可以强制执行适合其应用程序的最小MSS。

解决方法:使用提供的过滤器之一阻止与低MSS的连接。(过滤器中的值是示例。您可以根据您的环境应用更高或更低的限制。)请注意,这些过滤器可能会破坏依赖于低MSS的合法连接。另请注意,此缓解仅在禁用TCP探测时有效(即,net.ipv4.tcp_mtu_probingsysctl设置为0,这似乎是该sysctl的默认值)。


注意:

良好的系统和应用程序编码和配置实践(将写缓冲区限制到必要的级别,通过SO_MEMINFO监视连接内存消耗,以及积极关闭行为不当的连接)可以帮助限制针对这些类型漏洞的攻击的影响。

相关文件下载:https://github.com/Netflix/security-bulletins/tree/master/advisories/third-party/2019-001

购物车