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.
History

No history.

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published: 2019-01-03T16:00:00

Updated: 2024-08-04T19:19:16.818Z

Reserved: 2019-01-03T00:00:00

Link: CVE-2019-3701

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2019-01-03T16:29:00.553

Modified: 2024-11-21T04:42:21.783

Link: CVE-2019-3701

cve-icon Redhat

Severity :

Publid Date: 2018-12-28T00:00:00Z

Links: CVE-2019-3701 - Bugzilla