First published: Thu Jan 03 2019(Updated: )
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.
Credit: cve@mitre.org cve@mitre.org cve@mitre.org
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Kernel | <=4.19.13 | |
Debian Linux | =8.0 | |
Ubuntu | =14.04 | |
Ubuntu | =16.04 | |
debian/linux | 5.10.223-1 5.10.234-1 6.1.129-1 6.1.133-1 6.12.21-1 6.12.22-1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2019-3701 has a medium severity due to the potential for privileged users to exploit CAN frame modification rules.
To fix CVE-2019-3701, update your Linux kernel to versions 5.10.223-1, 5.10.226-1, 6.1.119-1, 6.1.123-1, 6.12.11-1, or 6.12.12-1.
CVE-2019-3701 affects Linux kernel versions up to and including 4.19.13 as well as Debian Linux 8.0 and Ubuntu Linux 14.04 and 16.04.
A privileged user with root access and the CAP_NET_ADMIN capability can exploit CVE-2019-3701.
CVE-2019-3701 involves the CAN frame modification rules found in the can_can_gw_rcv function in the Linux kernel.