CVE-2026-98316
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.
Leer descripción completaMostrar menos
The URB is cleared with the lock, so it guarantees that the pending rawmidi task already finished or a NULL check is effective.
CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.18%
- Percentil entre todas las CVEs puntuadas: 7
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
- https://git.kernel.org/stable/c/0a7ecf52cb59ed77ec525deb52c496ea8fba10b1
- https://git.kernel.org/stable/c/221253723dc58bb901c3f27a7659823e63fc598c
- https://git.kernel.org/stable/c/3b824930259d54f5047ce6b5c97bd20db2fc2b98
- https://git.kernel.org/stable/c/812ca56867bec3065c2a27f1ff5ce04e2a8bf4f0
- https://git.kernel.org/stable/c/9c8b6eff6e7505c128b615d9a1364ef66fa5c18e
- https://git.kernel.org/stable/c/c83d6b0a65f7b71bbabcc91c045dfbffdff6ae76
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-98316",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3c00004f134fc819f9d9e202c6a64acde0a1f8d0",
"lessThan": "3b824930259d54f5047ce6b5c97bd20db2fc2b98",
"versionType": "git"
},
{
"status": "affected",
"version": "6c07aad8a7c9ef8ebc4d03a964b882123a349a2e",
"lessThan": "c83d6b0a65f7b71bbabcc91c045dfbffdff6ae76",
"versionType": "git"
},
{
"status": "affected",
"version": "eb482a06791d6168beb8c78cc904ac5a5ed96a55",
"lessThan": "0a7ecf52cb59ed77ec525deb52c496ea8fba10b1",
"versionType": "git"
},
{
"status": "affected",
"version": "7df3194bdb7479cad9199889655a566a2c0c1d1b",
"lessThan": "812ca56867bec3065c2a27f1ff5ce04e2a8bf4f0",
"versionType": "git"
},
{
"status": "affected",
"version": "b06ebc7fe25a6af4a9f6e4a3d4236a4178ad4b01",
"lessThan": "9c8b6eff6e7505c128b615d9a1364ef66fa5c18e",
"versionType": "git"
},
{
"status": "affected",
"version": "459d3a64766f5ca2f1886daeaf24582831a5f5ab",
"lessThan": "221253723dc58bb901c3f27a7659823e63fc598c",
"versionType": "git"
},
{
"status": "affected",
"version": "9af08677aa57debaca5b57c8045c52a83d3dd376",
"versionType": "git"
},
{
"status": "affected",
"version": "5a77febac6faf6da40fbb4555f703eeb91b58130",
"versionType": "git"
},
{
"status": "affected",
"version": "6.1.188",
"lessThan": "6.1.189",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.6.157",
"lessThan": "6.6.158",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.12.109",
"lessThan": "6.12.112",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.18.50",
"lessThan": "6.18.54",
"versionType": "semver"
},
{
"status": "affected",
"version": "7.2.4",
"lessThan": "7.2.8",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.10.270",
"lessThan": "5.11",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.15.221",
"lessThan": "5.16",
"versionType": "semver"
}
],
"programFiles": [
"sound/usb/bcd2000/bcd2000.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "7.3-rc1"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "7.3-rc1",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.54",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.8",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3-rc4",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"sound/usb/bcd2000/bcd2000.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-06T09:18:23.363",
"references": [
{
"url": "https://git.kernel.org/stable/c/0a7ecf52cb59ed77ec525deb52c496ea8fba10b1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/221253723dc58bb901c3f27a7659823e63fc598c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3b824930259d54f5047ce6b5c97bd20db2fc2b98",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/812ca56867bec3065c2a27f1ff5ce04e2a8bf4f0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/9c8b6eff6e7505c128b615d9a1364ef66fa5c18e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c83d6b0a65f7b71bbabcc91c045dfbffdff6ae76",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: bcd2000: Fix race between rawmidi and disconnect\n\nAlthough we tried to fix the potential UAF issues at USB disconnect on\nbcd2000 driver, there is still an overlooked case -- namely, when a\nrawmidi trigger callback has been already running at USB disconnect\nhandling, the in-flight function (e.g. bcd2000_midi_send()) could\nstill access the URB, because the previous URB NULL-check & clearance\nwas considered only for the URB complete callbacks, but not about the\nparallel rawmidi operations.\n\nFor addressing the race, this patch introduced a new spinlock that\ncovers each rawmidi operation as well as the rawmidi handling in the\ncomplete callback. The URB is cleared with the lock, so it guarantees\nthat the pending rawmidi task already finished or a NULL check is\neffective."
}
],
"lastModified": "2026-10-06T09:18:23.363",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}