CVE-2019-3701
Published: 3 January 2019
An issue was discovered in can_can_gw_rcv in net/can/gw.c in the Linux kernel through 4.19.13. The CAN frame modification rules allow bitwise logical operations that can be also applied to the can_dlc field. The privileged user "root" with CAP_NET_ADMIN can create a CAN frame modification rule that makes the data length code a higher value than the available CAN frame data size. In combination with a configured checksum calculation where the result is stored relatively to the end of the data (e.g. cgw_csum_xor_rel) the tail of the skb (e.g. frag_list pointer in skb_shared_info) can be rewritten which finally can cause a system crash. Because of a missing check, the CAN drivers may write arbitrary content beyond the data registers in the CAN controller's I/O memory when processing can-gw manipulated outgoing frames.
From the Ubuntu Security Team
Muyu Yu discovered that the CAN implementation in the Linux kernel in some situations did not properly restrict the field size when processing outgoing frames. A local attacker with CAP_NET_ADMIN privileges could use this to execute arbitrary code.
Notes
Author | Note |
---|---|
tyhicks | The original CVE description that states that an unprivileged user can trigger a system crash is incorrect. Only the root user, from the init namespace, can trigger the system crash. Therefore, we'll prioritize this issue as negligible. |
Priority
Status
Package | Release | Status |
---|---|---|
linux Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-60.67)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Not vulnerable
(4.19.0-12.13)
|
|
eoan |
Not vulnerable
(5.0.0-13.14)
|
|
precise |
Ignored
(was needs-triage ESM criteria)
|
|
trusty |
Ignored
(was needed ESM criteria)
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.4.0-145.171)
|
|
Patches: Introduced by c1aabdf379bc2feeb0df7057ed5bad96f492133e |
||
linux-aws Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1047.49)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Not vulnerable
(5.0.0-1001.1)
|
|
eoan |
Not vulnerable
(5.0.0-1004.4)
|
|
precise |
Does not exist
|
|
trusty |
Released
(4.4.0-1040.43)
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.4.0-1079.89)
|
|
linux-aws-5.0 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.0.0-1021.24~18.04.1)
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-aws-hwe Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-1047.49~16.04.1)
|
|
linux-azure Launchpad, Ubuntu, Debian |
bionic |
Released
(5.0.0-1014.14~18.04.1)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Not vulnerable
(5.0.0-1001.1)
|
|
eoan |
Not vulnerable
(5.0.0-1004.4)
|
|
precise |
Does not exist
|
|
trusty |
Ignored
(was needed ESM criteria)
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-1056.61)
|
|
linux-azure-5.3 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.3.0-1007.8~18.04.1)
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-azure-edge Launchpad, Ubuntu, Debian |
bionic |
Released
(5.0.0-1014.14~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-1056.61)
|
|
linux-euclid Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Ignored
(was needs-triage ESM criteria)
|
|
linux-flo Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [abandoned])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Ignored
(abandoned)
|
|
linux-gcp Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1042.45)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Not vulnerable
(5.0.0-1001.1)
|
|
eoan |
Not vulnerable
(5.0.0-1004.4)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-1041.43)
|
|
linux-gcp-5.3 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.3.0-1008.9~18.04.1)
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-gcp-edge Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1042.45)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-gke Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Ignored
(end-of-life)
|
|
linux-gke-4.15 Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1041.43)
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
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
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-goldfish Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [abandoned])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Ignored
(end-of-life)
|
|
linux-grouper Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [abandoned])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-hwe Launchpad, Ubuntu, Debian |
bionic |
Released
(5.0.0-23.24~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-60.67~16.04.1)
|
|
linux-hwe-edge Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.0.0-15.16~18.04.1)
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-60.67~16.04.1)
|
|
linux-kvm Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1043.43)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Not vulnerable
(5.0.0-1001.1)
|
|
eoan |
Not vulnerable
(5.0.0-1004.4)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.4.0-1043.49)
|
|
linux-lts-trusty Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Ignored
(was needs-triage ESM criteria)
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-lts-utopic Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [end-of-life])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-lts-vivid Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [end-of-life])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-lts-wily Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [end-of-life])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-lts-xenial Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Released
(4.4.0-144.170~14.04.1)
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-maguro Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [abandoned])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-mako Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [abandoned])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Ignored
(abandoned)
|
|
linux-manta Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
(trusty was ignored [abandoned])
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-oem Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1056.65)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Ignored
(was pending \[4.15.0-1056.65\] now end-of-life)
|
|
eoan |
Released
(4.15.0-1059.68)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Ignored
(was needs-triage now end-of-life)
|
|
linux-oem-5.4 Launchpad, Ubuntu, Debian |
bionic |
Does not exist
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-oem-osp1 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.0.0-1010.11)
|
disco |
Not vulnerable
(5.0.0-1010.11)
|
|
eoan |
Not vulnerable
(5.0.0-1010.11)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-oracle Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1022.25)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Released
(5.0.0-1004.8)
|
|
eoan |
Not vulnerable
(5.3.0-1002.2)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.15.0-1022.25~16.04.1)
|
|
linux-oracle-5.0 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.0.0-1007.12~18.04.1)
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-raspi2 Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1044.47)
|
cosmic |
Ignored
(reached end-of-life)
|
|
disco |
Not vulnerable
(5.0.0-1004.4)
|
|
eoan |
Not vulnerable
(5.0.0-1006.6)
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.4.0-1106.114)
|
|
linux-raspi2-5.3 Launchpad, Ubuntu, Debian |
bionic |
Not vulnerable
(5.3.0-1017.19~18.04.1)
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Does not exist
|
|
linux-snapdragon Launchpad, Ubuntu, Debian |
bionic |
Released
(4.15.0-1062.69)
|
cosmic |
Does not exist
|
|
disco |
Not vulnerable
(5.0.0-1010.10)
|
|
eoan |
Does not exist
|
|
precise |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(5.0~rc3)
|
|
xenial |
Released
(4.4.0-1110.115)
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 4.4 |
Attack vector | Local |
Attack complexity | Low |
Privileges required | High |
User interaction | None |
Scope | Unchanged |
Confidentiality | None |
Integrity impact | None |
Availability impact | High |
Vector | CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-3701
- https://marc.info/?l=linux-netdev&m=154659326324991&w=2
- https://marc.info/?l=linux-can&m=154659326224990&w=2
- https://ubuntu.com/security/notices/USN-3932-1
- https://ubuntu.com/security/notices/USN-3932-2
- https://ubuntu.com/security/notices/USN-4115-1
- https://ubuntu.com/security/notices/USN-4118-1
- NVD
- Launchpad
- Debian