CVE-2026-68217 in Linuxinformación

Resumen

por VulDB • 2026-08-10

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

media: pwc: Vaciar fill_buf en caso de fallo en start_streaming()

pwc_isoc_init() envía sus URBs isócronos con usb_submit_urb(.., GFP_KERNEL) dentro de un bucle. Tras enviar el primer URB, su controlador de finalización pwc_isoc_handler() puede ejecutarse en otro CPU antes de que termine el bucle:

start_streaming() pwc_isoc_init() usb_submit_urb(urbs[0], GFP_KERNEL)
pwc_isoc_handler(urbs[0])
pdev->fill_buf = pwc_get_next_fill_buf(pdev) usb_submit_urb(urbs[i>0], ..) -> falla
pwc_isoc_cleanup(pdev) /* elimina los URBs */ return ret; pwc_cleanup_queued_bufs(pdev, VB2_BUF_STATE_QUEUED)

pwc_get_next_fill_buf() desvincula un búfer de pdev->queued_bufs y lo almacena en pdev->fill_buf. La ruta de error en start_streaming() solo vacía pdev->queued_bufs, por lo que el búfer almacenado temporalmente en pdev->fill_buf se pierde (memory leak). Posteriormente, vb2_start_streaming() desencadena WARN_ON(owned_by_drv_count).

stop_streaming() ya gestionaba este caso desde el commit 80b0963e1698 ("[media] pwc: fix WARN_ON"), que añadió la limpieza de fill_buf en la ruta de desmontaje, pero no en la ruta de error de start_streaming(). Se aplica esta misma gestión ante fallos para garantizar que start_streaming() devuelva sin ningún búfer propiedad del controlador.

Problema identificado mediante revisión automatizada de la serie INV-003 en https://sashiko.dev/

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Reservar

2026-07-30

Divulgación

2026-08-10

Moderación

aceptado

Artículo

VDB-387564

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!