CVE-2019-3701
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v3.0•MEDIUM•Score: 4.4CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
- v2.0•MEDIUM•Score: 4.9AV:L/AC:L/Au:N/C:N/I:N/A:C
EPSS Trends
Current EPSS score: 0.70%• Percentile: 52%
Techniques & Countermeasures
- CWE-787•Out-of-bounds Write
The product writes data past the end, or before the beginning, of the intended buffer.
Affected Systems
- canonical•ubuntu_linux
14.04 | 16.04
- debian•linux
< 4.19.20-1 | < 4.19.20-1 | < 4.19.20-1 | < 4.19.20-1
- ubuntu•linux
all | < 4.4.0-145.171 | < 4.15.0-60.67
- ubuntu•linux-aws
< 4.4.0-1040.43 | < 4.4.0-1079.89 | < 4.15.0-1047.49
- ubuntu•linux-aws-fips
< 4.15.0-2018.18 | all
- ubuntu•linux-aws-hwe
< 4.15.0-1047.49~16.04.1
- ubuntu•linux-azure
< 4.15.0-1059.64~14.04.1 | < 4.15.0-1056.61 | < 5.0.0-1014.14~18.04.1
- ubuntu•linux-azure-fde
all
- ubuntu•linux-azure-fips
< 4.15.0-2006.7 | all
- ubuntu•linux-bluefield
all
- ubuntu•linux-fips
< 4.4.0-1008.10
- ubuntu•linux-gcp
< 4.15.0-1041.43 | < 4.15.0-1042.45
- ubuntu•linux-gcp-fips
all
- ubuntu•linux-gke
all
- ubuntu•linux-gke-4.15
< 4.15.0-1041.43
- ubuntu•linux-hwe
< 4.15.0-60.67~16.04.1 | < 5.0.0-23.24~18.04.1
- ubuntu•linux-intel-iot-realtime
all
- ubuntu•linux-kvm
< 4.4.0-1043.49 | < 4.15.0-1043.43
- ubuntu•linux-lts-xenial
< 4.4.0-144.170~14.04.1
- ubuntu•linux-oem
< 4.15.0-1056.65
- ubuntu•linux-oracle
< 4.15.0-1022.25~16.04.1 | < 4.15.0-1022.25
- ubuntu•linux-raspi-realtime
all
- ubuntu•linux-raspi2
< 4.4.0-1106.114 | < 4.15.0-1044.47
- ubuntu•linux-realtime
all
- ubuntu•linux-riscv
all | all
- ubuntu•linux-snapdragon
< 4.4.0-1110.115 | < 4.15.0-1062.69
- debian•debian_linux
8.0
- linux•linux_kernel
≤ 4.19.13
References (23)
- https://marc.info/?l=linux-netdev&m=154651842302479&w=2
- http://www.securityfocus.com/bid/106443
- https://bugzilla.suse.com/show_bug.cgi?id=1120386
- https://lists.debian.org/debian-lts-announce/2019/03/msg00034.html
- https://lists.debian.org/debian-lts-announce/2019/04/msg00004.html
- https://usn.ubuntu.com/3932-1/
- https://usn.ubuntu.com/3932-2/
- https://support.f5.com/csp/article/K17957133
- https://marc.info/?l=linux-netdev&m=154661373531512&w=2
- https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=0aaa81377c5a01f686bcdb8c7a6929a7bf330c68
- https://lists.debian.org/debian-lts-announce/2019/05/msg00002.html
- https://usn.ubuntu.com/4115-1/
- https://usn.ubuntu.com/4118-1/
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00035.html
- https://ubuntu.com/security/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
- https://www.cve.org/CVERecord?id=CVE-2019-3701
- https://security-tracker.debian.org/tracker/CVE-2019-3701