Vulnerabilities in Linux & FreeBSD TCP Stacks Detected

Netflix has identified several critical vulnerabilities in the Linux and FreeBSD TCP stacks that allow to remotely initiate a kernel crash or cause excessive resource consumption when processing specially crafted TCP packets (packet-of-death). Problems are caused by errors in the handlers of the maximum size of the data block in the TCP packet (MSS, Maximum segment size) and the mechanism for selective acknowledgment of connections (SACK, TCP Selective Acknowledgment).

CVE-2019-11477 A sequence of SACKs may be crafted such that one can trigger an integer overflow, leading to a kernel panic. 

Fragments are saved when a packet loss occurs or the need for selective retransmission of packets, if SACK is enabled and TSO is supported by the driver. With a minimum MSS, only 8 bytes are allocated for one data segment, respectively, the number of segments required to send all data increases, and the structure can reach a limit of 17 fragments. To protect against overflow, there is a check in the code that calls the BUG_ON () function and puts the kernel in the panic state.

CVE-2019-11478 (SACK Slowness) It is possible to send a crafted sequence of SACKs which will fragment the TCP retransmission queue. On Linux kernels prior to 4.15, an attacker may be able to further exploit the fragmented queue to cause an expensive linked-list walk for subsequent SACKs received for that same TCP connection.

CVE-2019-5599 (SACK Slowness) It is possible to send a crafted sequence of SACKs which will fragment the RACK send a map. An attacker may be able to further exploit the fragmented send map to cause an expensive linked-list walk for subsequent SACKs received for that same TCP connection.

CVE-2019-11479 -An attacker can force the Linux kernel to segment its responses into multiple TCP segments, each of which contains only 8 bytes of data. This drastically increases the bandwidth required to deliver the same amount of data. Further, it consumes additional resources (CPU and NIC processing power). This attack requires continued effort from the attacker and the impacts will end shortly after the attacker stops sending traffic.

Get more info on the vulnerabilities, walkarounds and fixes at openwall.