CVE-2026-31720

Summary

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

usb: gadget: f_uac1_legacy: validate control request size

f_audio_complete() copies req->length bytes into a 4-byte stack variable:

u32 data = 0; memcpy(&data, req->buf, req->length);

req->length is derived from the host-controlled USB request path, which can lead to a stack out-of-bounds write.

Validate req->actual against the expected payload size for the supported control selectors and decode only the expected amount of data.

This avoids copying a host-influenced length into a fixed-size stack object.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < 557d1d4e862eccd0b74cc377b66de3e1e8d49605affected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < 21b11e8581285c6f10ef43d05df349d445f24273affected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < 0d41772d98dcaf6c17e875b7d0ea0154ae1191eeaffected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < c6da4fed7537aec19880c24f6c3a95065adb1406affected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < be2d32f0c3fe333d14c0a9ca90328dacbc3e06b8affected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < 8e5eb1d6e6a3d7bbea9c92132d0cda5793176426affected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < 26304d124e7f0383f8fe1168b5801a0ac7e16b1caffected
LinuxLinuxc6994e6f067cf0fc4c6cca3d164018b1150916f8 < 6e0e34d85cd46ceb37d16054e97a373a32770f6caffected
LinuxLinux2.6.31affected
LinuxLinux0 < 2.6.31unaffected
LinuxLinux5.10.253 <= 5.10.*unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.168 <= 6.1.*unaffected
LinuxLinux6.6.134 <= 6.6.*unaffected
LinuxLinux6.12.81 <= 6.12.*unaffected
LinuxLinux6.18.22 <= 6.18.*unaffected
LinuxLinux6.19.12 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References