]> git.ipfire.org Git - thirdparty/linux.git/commit
can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents
authorPengpeng Hou <pengpeng@iscas.ac.cn>
Wed, 22 Jul 2026 04:22:21 +0000 (12:22 +0800)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 29 Jul 2026 10:00:00 +0000 (12:00 +0200)
commit0293dd153f9dbc1ddf5dacdccc76b363bce4a8ee
tree8f0604e64316b4b987e429a0745f0257b47c23ab
parent941eaf9a6d3b33dea49f2c0a1da7546a03b6ff71
can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents

The wait and bulk receive paths walk variable-length commands from a
USB buffer. A nonzero command shorter than CMD_HEADER_LEN can still be
dispatched, and the wait path copies a matching command into a fixed
caller-owned struct kvaser_cmd using the device-provided length.

Reject nonzero commands that do not contain the fixed header or that
extend beyond the current USB buffer item. In the wait path, also reject
a matching command that exceeds the destination before copying it.

Fixes: 080f40a6fa28 ("can: kvaser_usb: Add support for Kvaser CAN/USB devices")
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://patch.msgid.link/20260722042221.44066-1-pengpeng@iscas.ac.cn
Cc: stable@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c