SACK Panic: Linux and FreeBSD Kernels Vulnerable to Remote Denial of Service Vulnerabilities (CVE-2019-11477)
Researchers at Netflix have disclosed new remote denial of service and resource consumption vulnerabilities in most Linux and FreeBSD versions.
On June 17, Netflix published an advisory to its GitHub repository for security bulletins. The advisory highlights the discovery of four Transmission Control Protocol (TCP) networking vulnerabilities in the Linux and FreeBSD kernels, including a severe vulnerability called “SACK Panic” that could result in “a remotely-triggered kernel panic on recent Linux kernels.”
The advisory highlights four separate vulnerabilities, each of which impacts either specific versions of the Linux and FreeBSD kernels or all Linux kernel versions.
CVE-2019-11477, known as “SACK Panic,” is an integer overflow vulnerability that can be triggered by a remote attacker sending a sequence of TCP Selective ACKnowledgements (SACKs) to a vulnerable system, which could result in a system crash (kernel panic). Successful exploitation of this vulnerability will result in a denial of service (DoS) on affected systems.
CVE-2019-11478 is an excess resource consumption vulnerability that can be triggered by a remote attacker sending a sequence of SACKs to a vulnerable system, resulting in the fragmentation of the TCP retransmission queue. Additionally, an attacker might “cause an expensive linked-list walk for subsequent SACKs” via the same TCP connection on Linux kernel versions prior to 4.15, resulting in further fragmentation, which has been dubbed “SACK slowness.” Successful exploitation of this vulnerability will drastically hinder system performance, and may potentially cause a complete DoS.
CVE-2019-11479 is an excess resource consumption vulnerability that can be triggered when a remote attacker sets a low Maximum Segment Size (MSS) for a TCP connection, causing a vulnerable system to utilize additional bandwidth and resources, because its responses are sent across “multiple TCP segments each of which contain only 8 bytes of data.” Exploiting this vulnerability will cause affected systems to run at maximum resource consumption, which could hinder system performance while attempting to process the malicious requests.
CVE-2019-5599 is similar to CVE-2019-11478, in that sending a sequence of SACKs will result in fragmentation, but this vulnerability impacts the RACK send map in the RACK TCP stack on FreeBSD 12.
Netflix provided patches and mitigation for each of the four vulnerabilities in its advisory. The associated patches include:
|PATCH_net_1_4.patch PATCH_net_1a.patch||CVE-2019-11477||PATCH_net_1_4.patch addresses the vulnerability for Linux kernel versions greater than or equal to 2.6.29, while PATCH_net_1a.patch is required for Linux kernel versions up to and including 4.14.|
|PATCH_net_2_4.patch||CVE-2019-11478||PATCH_net_2_4 addresses both SACK slowness in Linux kernel versions < 4.15 as well as excess resource usage in all Linux kernel versions.|
|PATCH_net_3_4.patch PATCH_net_4_4.patch||CVE-2019-11479||PATCH_net_3_4.patch and PATCH_net_4_4.patch address the excess resource consumption vulnerability in all Linux kernel versions.|
|split_limit.patch||CVE-2019-5599||split_limit.patch addresses SACK slowness for the RACK TCP stack on FreeBSD 12.|
Linux kernel developer and maintainer Greg Kroah-Hartman announced that patches have been rolled into the stable kernel releases for the following versions:
Kroah-Hartman mentions that outside of the 3.16.y branch, which he does not maintain, all other kernel branches are end-of-life. Therefore, if patching is not feasible, applying the mitigations from the advisory are strongly recommended.
Additional downstream patches are available or in the works for various Linux distributions including Red Hat, Ubuntu, Debian, and SUSE. Amazon Web Services (AWS) released a security bulletin to address questions around the vulnerability and its impact on various services, including availability of patched versions of the Linux kernel for Amazon Linux and Amazon Linux 2.
Identifying affected systems
A list of Tenable plugins to identify these vulnerabilities will appear here as they’re released.
Get more information
Join Tenable's Security Response Team on the Tenable Community.
Learn more about Tenable, the first Cyber Exposure platform for holistic management of your modern attack surface.
Get a free 60-day trial of Tenable.io.
Are You Vulnerable to the Latest Exploits?
Enter your email to receive the latest cyber exposure alerts in your inbox.