CVE-2019-11479
Published: 17 June 2019
Jonathan Looney discovered that the Linux kernel default MSS is hard-coded to 48 bytes. This allows a remote peer to fragment TCP resend queues significantly more than if a larger MSS were enforced. A remote attacker could use this to cause a denial of service. This has been fixed in stable kernel releases 4.4.182, 4.9.182, 4.14.127, 4.19.52, 5.1.11, and is fixed in commits 967c05aee439e6e5d7d805e195b3a20ef5c433d6 and 5f3e2bf008c2221478101ee72f5cb4654b9fc363.
From the Ubuntu security team
Jonathan Looney discovered that the Linux kernel could be coerced into segmenting responses into multiple TCP segments. A remote attacker could construct an ongoing sequence of requests to cause a denial of service.
Mitigation
This can be mitigated by dropping all packets which specify a too small MSS value. For example, to only allow MSS values of greater than 500 bytes, an iptables rule can be specified as: sudo iptables -A INPUT -p tcp -m tcpmss --mss 1:500 -j DROP Note: this will only take effect if the net.ipv4.tcp_mtu_probing sysctl is disabled as well.
CVSS 3 base score: 7.5
Status
Package | Release | Status |
---|---|---|
linux Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-54.58)
|
cosmic |
Released
(4.18.0-25.26)
|
|
disco |
Released
(5.0.0-20.21)
|
|
precise |
Ignored
(was needed ESM criteria)
|
|
trusty |
Ignored
(was needed ESM criteria)
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.4.0-154.181)
|
|
linux-aws Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1043.45)
|
cosmic |
Released
(4.18.0-1020.24)
|
|
disco |
Released
(5.0.0-1010.11)
|
|
precise |
Does not exist
|
|
trusty |
Released
(4.4.0-1048.52)
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.4.0-1087.98)
|
|
linux-aws-hwe Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-1043.45~16.04.1)
|
|
linux-azure Launchpad, Ubuntu, Debian |
bionic |
Released
(4.18.0-1023.24~18.04.1)
|
cosmic |
Released
(4.18.0-1023.24)
|
|
disco |
Released
(5.0.0-1010.10)
|
|
precise |
Does not exist
|
|
trusty |
Released
(4.15.0-1049.54~14.04.1)
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-1049.54)
|
|
linux-azure-edge Launchpad, Ubuntu, Debian |
bionic |
Released
(4.18.0-1023.24~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-1049.54)
|
|
linux-euclid Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Ignored
(was needed now end-of-life)
|
|
linux-flo Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Ignored
(abandoned)
|
|
linux-gcp Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1036.38)
|
cosmic |
Released
(4.18.0-1015.16)
|
|
disco |
Released
(5.0.0-1010.10)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-1036.38~16.04.1)
|
|
linux-gcp-edge Launchpad, Ubuntu, Debian |
bionic |
Released
(4.18.0-1015.16~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-gke Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Ignored
(end-of-life)
|
|
linux-gke-4.15 Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1036.38)
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-gke-5.0 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.0.0-1011.11~18.04.1)
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-goldfish Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Ignored
(end-of-life)
|
|
linux-grouper Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-hwe Launchpad, Ubuntu, Debian |
bionic |
Released
(4.18.0-25.26~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-54.58~16.04.1)
|
|
linux-hwe-edge Launchpad, Ubuntu, Debian |
bionic |
Released
(5.0.0-20.21~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-54.58~16.04.1)
|
|
linux-kvm Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1038.38)
|
cosmic |
Released
(4.18.0-1016.17)
|
|
disco |
Released
(5.0.0-1010.11)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.4.0-1051.58)
|
|
linux-lts-trusty Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Ignored
(was needed ESM criteria)
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-lts-utopic Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-lts-vivid Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-lts-wily Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-lts-xenial Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Released
(4.4.0-154.181~14.04.1)
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-maguro Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-mako Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Ignored
(abandoned)
|
|
linux-manta Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Does not exist
|
|
linux-oem Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1045.50)
|
cosmic |
Ignored
(was pending \[4.15.0-1045.50\] now end-of-life)
|
|
disco |
Released
(4.15.0-1045.50)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Ignored
(was needed now end-of-life)
|
|
linux-oracle Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1017.19)
|
cosmic |
Ignored
(was pending \[4.15.0-1017.19\] now end-of-life)
|
|
disco |
Released
(4.15.0-1017.19)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.15.0-1017.19~16.04.2)
|
|
linux-raspi2 Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1040.43)
|
cosmic |
Released
(4.18.0-1018.21)
|
|
disco |
Released
(5.0.0-1012.12)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.4.0-1114.123)
|
|
linux-snapdragon Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1057.62)
|
cosmic |
Does not exist
|
|
disco |
Released
(5.0.0-1016.17)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.2~rc6)
|
|
xenial |
Released
(4.4.0-1118.124)
|
Notes
Author | Note |
---|---|
tyhicks | This issue is primarily due to the TCP spec not defining a minimum value for the Minimum Segment Size (MSS). The Linux kernel cannot safely put a restriction on the MSS because it may break valid TCP connections. This issue will be addressed by allowing a system administrator to raise the smallest acceptable MSS value but there will be no default mitigation by default. |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11479
- https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SACKPanic
- https://ubuntu.com/security/notices/USN-4041-1
- https://ubuntu.com/security/notices/USN-4041-2
- NVD
- Launchpad
- Debian