SACK Panic: Linux and FreeBSD Kernels Vulnerable to Remote Denial of Service Vulnerabilities (CVE-2019-11477)

Satnam Narang

Researchers at Netflix have disclosed new remote denial of service and resource consumption vulnerabilities in most Linux and FreeBSD versions.

Background

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.”

Analysis

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.

Solution

Netflix provided patches and mitigation for each of the four vulnerabilities in its advisory. The associated patches include:

Patch CVE Details 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.

Read more >

Published on Jun 18, 2019

People also viewed

Software Engineer

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 Engineering Engineering
Your Role:Are you excited about the opportunity to work with microservices at scale? Do you like knowing that the changes that you deploy to production will improve the customer experience of many users worldwide? Do you like both the exciting, fa...

Software Engineering Manager, UI

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Engineering Engineering
Your Role:Tenable is looking for an extraordinary Engineering Manager to join the Tenable.io Engineering team. This is an opportunity to make a high impact while helping the team deliver on a next-generation enterprise web application. The ideal c...

Software Engineer - Web Scraping (Python)

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 Research Engineering
Your Role:Tenable is looking for a Software Engineer to join our Automation research team.  This position will involve building and maintaining our framework for automated content creation, validation, and deliveryYour Opportunity: Impact: You wi...

Customer Success Manager

Toyko Tokyo Japan Toyko, Tokyo, Japan Customer Success Sales
Your Role:Tenable has an immediate need for a Customer Success Manager who will be responsible for establishing and driving sales activities for our software products within a designated geography.Companies today are grappling with an ever expandi...

Senior UX Designer

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Engineering Engineering
Your Role:Tenable is looking for an extraordinary Senior UX Designer to join our team. Our group is chartered with creating the next generation of security products while at the same time pioneering unprecedented user experience in the digital sec...

Associate Security Sales Engineer

Portland Oregon United States Portland, Oregon, United States Sales Engineering Sales
Your Role:Tenable is seeking a Commercial Sales Engineer to drive Technical and Business value aspects of strategic selling in your assigned region. You will be partnering with Territory Sales Managers and a strong team of peers to: differentiate ...

We have big plans for continued global growth, and we’re looking for people who are creative, flexible and dedicated to helping us build something great – something that matters.