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

Business Cost Analyst - Cloud Infrastructure

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Engineering Engineering
Your Role:Tenable is seeking a Business Cost Analyst of Cloud Infrastructure with strong MS Excel experience to assess, analyze and compile current costs and potentially determine initiatives to reduce and improve our cloud infrastructure cost for...

Professional Services Engagement Manager

Singapore Singapore Singapore North Bridge Road, Parkview Square, Singapore, 188788 Professional Services Professional Services
Your Role:The Professional Services Engagement Manager assists in the professional services business development and oversees the delivery of projects. The Professional Services Engagement Manager’s roles include tactical project management oversi...

UX Designer

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 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...

Commercial Territory Manager - West

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 Sales Sales
Your Role:The Commercial Territory Manager will meet and exceed quarterly sales quota by developing new opportunities within specific geographical territory.  Researching and identifying potential accounts; outbound cold calling to soliciting new ...

Senior Software Engineer (Java & Kotlin)

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Engineering Engineering
Your Role:Tenable is looking for a Senior Software Engineer to join the Lumin product development team. As a Sr. Software Engineer you will drive projects end-to-end, collaborate on product requirements with Product Managers, architect and impleme...

Public Sector Channel Manager - Distribution

Reston Virginia United States Reston, Virginia, United States Channel Sales Sales
Your Role:The Public Sector Channel Manager-Distribution is responsible for establishing and managing relationships with the Distribution Partner(s).  The CM-Disty will act as a sales liaison between distributor and Tenable Channel Manager personn...

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.