CVE-2019-3701 | Date: (C)2019-01-04 (M)2024-03-26 |
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 Score and Metrics +CVSS Score and Metrics -CVSS V3 Severity: | CVSS V2 Severity: |
CVSS Score : 4.4 | CVSS Score : 4.9 |
Exploit Score: 0.8 | Exploit Score: 3.9 |
Impact Score: 3.6 | Impact Score: 6.9 |
|
CVSS V3 Metrics: | CVSS V2 Metrics: |
Attack Vector: LOCAL | Access Vector: LOCAL |
Attack Complexity: LOW | Access Complexity: LOW |
Privileges Required: HIGH | Authentication: NONE |
User Interaction: NONE | Confidentiality: NONE |
Scope: UNCHANGED | Integrity: NONE |
Confidentiality: NONE | Availability: COMPLETE |
Integrity: NONE | |
Availability: HIGH | |
| |