Description
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-mixer: us16x08: validate meter packet indices get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store. Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays. Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d2bb390a2081a36ffe906724d2848d846f2aeb29 to < 53461710a95e15ac1f6542450943a492ecf8e550affectedd2bb390a2081a36ffe906724d2848d846f2aeb29 to < 2168866396bd28ec4f3c8da0fbc7d08b5bd4f053affectedd2bb390a2081a36ffe906724d2848d846f2aeb29 to < cde47f4ccad6751ac36b7471572ddf38ee91870caffectedd2bb390a2081a36ffe906724d2848d846f2aeb29 to < 2f21a7cbaaa93926f5be15bc095b9c57c35748d9affectedd2bb390a2081a36ffe906724d2848d846f2aeb29 to < a8ad320efb663be30b794e3dd3e829301c0d0ed3affectedd2bb390a2081a36ffe906724d2848d846f2aeb29 to < eaa95228b8a56c4880a182c0350d67922b22408faffectedd2bb390a2081a36ffe906724d2848d846f2aeb29 to < 5526c1c6ba1d0913c7dfcbbd6fe1744ea7c55f1eaffected
Linux Linux
Default version status: affected
4.11affected0 to < 4.11unaffected5.10.248 to ≤ 5.10.*unaffected5.15.198 to ≤ 5.15.*unaffected6.1.160 to ≤ 6.1.*unaffected6.6.120 to ≤ 6.6.*unaffected6.12.64 to ≤ 6.12.*unaffected6.18.3 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/53461710a95e15ac1f6542450943a492ecf8e550 ↗
- https://git.kernel.org/stable/c/2168866396bd28ec4f3c8da0fbc7d08b5bd4f053 ↗
- https://git.kernel.org/stable/c/cde47f4ccad6751ac36b7471572ddf38ee91870c ↗
- https://git.kernel.org/stable/c/2f21a7cbaaa93926f5be15bc095b9c57c35748d9 ↗
- https://git.kernel.org/stable/c/a8ad320efb663be30b794e3dd3e829301c0d0ed3 ↗
- https://git.kernel.org/stable/c/eaa95228b8a56c4880a182c0350d67922b22408f ↗
- https://git.kernel.org/stable/c/5526c1c6ba1d0913c7dfcbbd6fe1744ea7c55f1e ↗