Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: media: usbtv: keep device alive while ALSA card exists The ALSA PCM callbacks store the driver state in pcm->private_data. An open PCM file can outlive USB disconnect because usbtv_audio_free() uses snd_card_free_when_closed(). The disconnect path can then drop the V4L2 device reference and free struct usbtv before ALSA releases the substream, so a later close dereferences freed memory in snd_usbtv_pcm_close(). Take a V4L2 device reference for the ALSA card and drop it from the card private_free callback. This keeps struct usbtv valid until ALSA has closed the remaining files and freed the card.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before 97b5e8b22b98e287481a97a9a4cfebbb348738a5; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before 503be26ff888cb3576e55d251895d290e8146f27; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before be0f7745f883386e5263b4e475686a81dfa87175; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before 67374e3a00814dcdd46e9feca61f69f7f2d81957; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before 239d1683e08b2aee2a15ef35706e1ea9a76681d8; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before 7690a86b193271322cd31ab77349a87aa10858e4; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before 1618257cb0aba4ce342ae8c0228368c24161f5fb; affected 63ddf68de52efaac40a9287e44266ac30e71dd36 before fc530fe168bb2b745a93f553ad21fc25fd9cba3d |
| Linux / Linux | affected 3.18; unaffected 0 before 3.18; unaffected 5.10.270 through 5.10.*; unaffected 5.15.221 through 5.15.*; unaffected 6.1.188 through 6.1.*; unaffected 6.6.157 through 6.6.*; unaffected 6.12.110 through 6.12.*; unaffected 6.18.51 through 6.18.*; unaffected 7.2.5 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/97b5e8b22b98e287481a97a9a4cfebbb348738a5
- https://git.kernel.org/stable/c/503be26ff888cb3576e55d251895d290e8146f27
- https://git.kernel.org/stable/c/be0f7745f883386e5263b4e475686a81dfa87175
- https://git.kernel.org/stable/c/67374e3a00814dcdd46e9feca61f69f7f2d81957
- https://git.kernel.org/stable/c/239d1683e08b2aee2a15ef35706e1ea9a76681d8
- https://git.kernel.org/stable/c/7690a86b193271322cd31ab77349a87aa10858e4
- https://git.kernel.org/stable/c/1618257cb0aba4ce342ae8c0228368c24161f5fb
- https://git.kernel.org/stable/c/fc530fe168bb2b745a93f553ad21fc25fd9cba3d