CVE-2019-3701

kernel: Missing check in net/can/gw.c:can_can_gw_rcv() allows for crash by users with CAP_NET_ADMIN

Published Jan 3, 2019 CVSS 3.0 · 4.4 Medium EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-1731-1 linux security update
Debian DLA Debian DLA DLA-1731-2 linux regression update
Debian DLA Debian DLA DLA-1771-1 linux-4.9 security update
EUVD EUVD EUVD-2019-13336 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.
Ubuntu USN Ubuntu USN USN-3932-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-3932-2 Linux kernel (Xenial HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-4115-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-4118-1 Linux kernel (AWS) vulnerabilities
History
Type Values Removed Values Added
Metrics epss

{'score': 0.00068}

epss

{'score': 0.00089}

Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Aug 4, 2024, 7:19 PM
Reserved
Jan 3, 2019, 12:00 AM
Status
Modified
Published
Jan 3, 2019, 4:29 PM
Modified
Jun 17, 2026, 2:35 AM
Severity
Public date
Dec 28, 2018, 12:00 AM