Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-98316

ALSA: bcd2000: Fix race between rawmidi and disconnect

Description

In the Linux kernel, the following vulnerability has been resolved: ALSA: bcd2000: Fix race between rawmidi and disconnect Although we tried to fix the potential UAF issues at USB disconnect on bcd2000 driver, there is still an overlooked case -- namely, when a rawmidi trigger callback has been already running at USB disconnect handling, the in-flight function (e.g. bcd2000_midi_send()) could still access the URB, because the previous URB NULL-check & clearance was considered only for the URB complete callbacks, but not about the parallel rawmidi operations. For addressing the race, this patch introduced a new spinlock that covers each rawmidi operation as well as the rawmidi handling in the complete callback. The URB is cleared with the lock, so it guarantees that the pending rawmidi task already finished or a NULL check is effective.

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

  • 3c00004f134fc819f9d9e202c6a64acde0a1f8d0 to < 3b824930259d54f5047ce6b5c97bd20db2fc2b98affected
  • 6c07aad8a7c9ef8ebc4d03a964b882123a349a2e to < c83d6b0a65f7b71bbabcc91c045dfbffdff6ae76affected
  • eb482a06791d6168beb8c78cc904ac5a5ed96a55 to < 0a7ecf52cb59ed77ec525deb52c496ea8fba10b1affected
  • 7df3194bdb7479cad9199889655a566a2c0c1d1b to < 812ca56867bec3065c2a27f1ff5ce04e2a8bf4f0affected
  • b06ebc7fe25a6af4a9f6e4a3d4236a4178ad4b01 to < 9c8b6eff6e7505c128b615d9a1364ef66fa5c18eaffected
  • 459d3a64766f5ca2f1886daeaf24582831a5f5ab to < 221253723dc58bb901c3f27a7659823e63fc598caffected
  • 9af08677aa57debaca5b57c8045c52a83d3dd376affected
  • 5a77febac6faf6da40fbb4555f703eeb91b58130affected
  • 5.10.270 to < 5.11affected
  • 5.15.221 to < 5.16affected

Linux Linux

Default version status: unaffected

  • 6.1.188 to < 6.1.189affected
  • 6.6.157 to < 6.6.158affected
  • 6.12.109 to < 6.12.112affected
  • 6.18.50 to < 6.18.54affected
  • 7.2.4 to < 7.2.8affected

References