Linux 和 FreeBSD TCP 堆栈中导致远程拒绝服务的漏洞

Netflix公司 透露 几个关键的 漏洞 在 Linux 和 FreeBSD TCP 堆栈中,它允许您在处理特殊设计的 TCP 数据包(死亡数据包)时远程启动内核崩溃或导致过多的资源消耗。 问题 由...引起 TCP 数据包中最大数据块大小(MSS,最大段大小)和选择性连接确认机制(SACK,TCP 选择性确认)的处理程序中的错误。

  • CVE-2019-11477 (SACK Panic) - 从 2.6.29 开始,Linux 内核中出现的一个问题,允许您因处理程序中的整数溢出而发送一系列 SACK 数据包,从而导致内核恐慌。 为了进行攻击,只需将 TCP 连接的 MSS 值设置为 48 字节(下限将段大小设置为 8 字节)并发送按某种方式排列的 SACK 数据包序列。

    作为安全解决方法,您可以禁用 SACK 处理(将 0 写入 /proc/sys/net/ipv4/tcp_sack)或 封锁 低 MSS 连接(仅当 sysctl net.ipv4.tcp_mtu_probing 设置为 0 时有效,可能会中断一些低 MSS 的正常连接);

  • CVE-2019-11478 (SACK 缓慢)- 导致 SACK 机制中断(当使用低于 4.15 的 Linux 内核时)或资源消耗过多。 当处理特制的 SACK 数据包时会出现此问题,该数据包可用于对重传队列进行分段(TCP 重传)。 安全解决方法与之前的漏洞类似;
  • CVE-2019-5599 (SACK Slowness) - 允许您在处理单个 TCP 连接内的特殊 SACK 序列时导致发送数据包映射的碎片,并导致执行资源密集型列表枚举操作。 该问题出现在带有 RACK 丢包检测机制的 FreeBSD 12 中。 作为解决方法,您可以禁用 RACK 模块;
  • CVE-2019-11479 - 攻击者可以导致Linux内核将响应分割成多个TCP段,每个段仅包含8字节数据,这可能导致流量显着增加、CPU负载增加和通信通道堵塞。 建议将其作为保护的解决方法。 封锁 低 MSS 的连接。

    在 Linux 内核中,这些问题已在版本 4.4.182、4.9.182、4.14.127、4.19.52 和 5.1.11 中得到解决。 FreeBSD 的修复程序如下: 修补。 在发行版中,内核软件包的更新已经发布了 Debian, RHEL, SUSE/开放SUSE。 准备过程中的修正 Ubuntu, Fedora и Arch Linux.

    来源: opennet.ru

  • 添加评论