CVE-2025-22027

media: streamzap: fix race between device disconnection and urb callback

Medium · published April 16, 2025

CVSS v3.1
4.7
EPSS
0%
Percentile
5.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

media: streamzap: fix race between device disconnection and urb callback

Syzkaller has reported a general protection fault at function

ir_raw_event_store_with_filter(). This crash is caused by a NULL pointer

dereference of dev->raw pointer, even though it is checked for NULL in

the same function, which means there is a race condition. It occurs due

to the incorrect order of actions in the streamzap_disconnect() function:

rc_unregister_device() is called before usb_kill_urb(). The dev->raw

pointer is freed and set to NULL in rc_unregister_device(), and only

after that usb_kill_urb() waits for in-progress requests to finish.

If rc_unregister_device() is called while streamzap_callback() handler is

not finished, this can lead to accessing freed resources. Thus

rc_unregister_device() should be called after usb_kill_urb().

Found by Linux Verification Center (linuxtesting.org) with Syzkaller.

The record
Technical detail
CVSS v3.1
4.7 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00165 · 5.4th percentile
Published
2025-04-16T14:11Z
EPSS history
Timeline
  • 16 APR 14:11Z
    media: streamzap: fix race between device disconnection and urb callback
    cvelistv5