CVE-2025-40275
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
ALSA: usb-audio: Fix NULL pointer dereference in snd_usb_mixer_controls_badd
In snd_usb_create_streams(), for UAC version 3 devices, the Interface Association Descriptor (IAD) is retrieved via usb_ifnum_to_if(). If this call fails, a fallback routine attempts to obtain the IAD from the next interface and sets a BADD profile. However, snd_usb_mixer_controls_badd() assumes that the IAD retrieved from usb_ifnum_to_if() is always valid, without performing a NULL check. This can lead to a NULL pointer dereference when usb_ifnum_to_if() fails to find the interface descriptor.
This patch adds a NULL pointer check after calling usb_ifnum_to_if() in snd_usb_mixer_controls_badd() to prevent the dereference.
This issue was discovered by syzkaller, which triggered the bug by sending a crafted USB device descriptor.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < 23aea9c74aeea2625aaf4fbcc6beb9d09e30f9e4 | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < c5c08965ab96b16361e69a1e2a0e89dbcb99b5a6 | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < 9f282104627be5fbded3102ff9004f753c55a063 | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < 2762d3ea9c929ca4094541ca517c317ffa94625b | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < 57f607c112966c21240c424b33e2cb71e121dcf0 | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < cbdbfc756f2990942138ed0138da9303b4dbf9ff | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < 85568535893600024d7d8794f4f8b6428b521e0c | affected |
| Linux | Linux | 17156f23e93c0f59e06dd2aaffd06221341caaee < 632108ec072ad64c8c83db6e16a7efee29ebfb74 | affected |
| Linux | Linux | 4.18 | affected |
| Linux | Linux | 0 < 4.18 | unaffected |
| Linux | Linux | 5.4.302 <= 5.4.* | unaffected |
| Linux | Linux | 5.10.247 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.197 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.159 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.117 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.59 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.9 <= 6.17.* | unaffected |
| Linux | Linux | 6.18 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/23aea9c74aeea2625aaf4fbcc6beb9d09e30f9e4
- https://git.kernel.org/stable/c/c5c08965ab96b16361e69a1e2a0e89dbcb99b5a6
- https://git.kernel.org/stable/c/9f282104627be5fbded3102ff9004f753c55a063
- https://git.kernel.org/stable/c/2762d3ea9c929ca4094541ca517c317ffa94625b
- https://git.kernel.org/stable/c/57f607c112966c21240c424b33e2cb71e121dcf0
- https://git.kernel.org/stable/c/cbdbfc756f2990942138ed0138da9303b4dbf9ff
- https://git.kernel.org/stable/c/85568535893600024d7d8794f4f8b6428b521e0c
- https://git.kernel.org/stable/c/632108ec072ad64c8c83db6e16a7efee29ebfb74
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.