Skip to content

Commit 8643975

Browse files
committed
media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in uvc_parse_format
jira LE-2349 cve CVE-2024-53104 Rebuild_History Non-Buildable kernel-4.18.0-553.40.1.el8_10 commit-author Benoit Sevens <[email protected]> commit ecf2b43 This can lead to out of bounds writes since frames of this type were not taken into account when calculating the size of the frames buffer in uvc_parse_streaming. Fixes: c0efd23 ("V4L/DVB (8145a): USB Video Class driver") Signed-off-by: Benoit Sevens <[email protected]> Cc: [email protected] Acked-by: Greg Kroah-Hartman <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> (cherry picked from commit ecf2b43) Signed-off-by: Jonathan Maple <[email protected]>
1 parent 0e27ffd commit 8643975

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/media/usb/uvc/uvc_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ static int uvc_parse_format(struct uvc_device *dev,
368368
* Parse the frame descriptors. Only uncompressed, MJPEG and frame
369369
* based formats have frame descriptors.
370370
*/
371-
while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE &&
371+
while (ftype && buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE &&
372372
buffer[2] == ftype) {
373373
frame = &format->frame[format->nframes];
374374
if (ftype != UVC_VS_FRAME_FRAME_BASED)

0 commit comments

Comments
 (0)