Skip to main content

Linux Kernel CVE-2026-80971

| EUVDEUVD-2026-76294 HIGH
2026-09-11 Linux GHSA-27wq-xjr3-w8c9
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Race condition between USB disconnect and substream close warrants AC:H; local low-privileged user with open MIDI stream required, so PR:L and AV:L.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Metadata Corrected
Sep 13, 2026 - 07:40 vuln.today
tag: Information Disclosure removed
Analysis Generated
Sep 13, 2026 - 07:28 vuln.today
CVSS changed
Sep 13, 2026 - 07:22 NVD
7.8 (HIGH)
Patch available
Sep 11, 2026 - 21:18 EUVD
CVE Published
Sep 11, 2026 - 19:42 cve.org
HIGH 7.8
CVE Published
Sep 11, 2026 - 19:42 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

ALSA: bcd2000: clear the URB pointers on disconnect

bcd2000_free_usb_related_resources() frees both URBs and leaves the pointers behind:

usb_kill_urb(bcd2k->midi_out_urb); usb_kill_urb(bcd2k->midi_in_urb);

usb_free_urb(bcd2k->midi_out_urb); usb_free_urb(bcd2k->midi_in_urb);

The rawmidi device outlives that call. A substream that is still open when the device is unplugged reaches bcd2000_midi_send() from the trigger path on close. That function writes to the freed URB and then hands it to the USB core:

bcd2k->midi_out_urb->transfer_buffer_length = BUFSIZE; ... ret = usb_submit_urb(bcd2k->midi_out_urb, GFP_ATOMIC);

usb_kill_urb() does not stop a later submission either, so a submit that races the disconnect can requeue the URB after it has been reaped. midi_in_urb is exposed the same way: bcd2000_input_complete() resubmits it from the completion handler.

KASAN on 7.2.0-rc5 (arm64):

BUG: KASAN: slab-use-after-free in bcd2000_midi_send [snd_bcd2000] Write of size 4 at addr ffff00001827d388 by task bpoc/168 __asan_store4 bcd2000_midi_send [snd_bcd2000] bcd2000_midi_output_trigger [snd_bcd2000] snd_rawmidi_kernel_write1 close_substream.part.0 Freed by task 168: usb_free_urb bcd2000_disconnect [snd_bcd2000]

BUG: KASAN: slab-use-after-free in usb_submit_urb Read of size 8 at addr ffff00001827d3b8 by task bpoc/168

Clear both pointers after freeing and test them on the paths that can still run. Poison the URBs before freeing them: usb_poison_urb() waits for a running completion handler and rejects any later submission, so after it returns the input path is quiesced and only the rawmidi trigger path can still reach bcd2000_midi_send(). No unpoison is needed; the URBs are freed on the next line.

Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>

AnalysisAI

Use-after-free in the Linux kernel ALSA bcd2000 USB MIDI driver allows a local attacker with low privileges to corrupt kernel memory, potentially achieving privilege escalation or system crash. When a BCD2000 USB device is disconnected while a MIDI rawmidi substream remains open, bcd2000_midi_send() and bcd2000_input_complete() continue to read and write previously freed URB structures, as the pointers are not nulled after usb_free_urb(). …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Install
technique details hidden
C2
technique details hidden
Execute
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Exploitation requires: (1) the snd_bcd2000 kernel module to be loaded, which happens only when a Behringer BCD2000 USB MIDI controller is connected; (2) a local user account with sufficient permissions to open a rawmidi substream on the device (typically membership in the 'audio' group or equivalent); (3) the USB device to be physically disconnected or logically removed while the rawmidi substream is still open; (4) the rawmidi substream close path (bcd2000_midi_output_trigger) to execute after disconnect completes. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 7.8 base score (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects a high-impact local privilege escalation but overstates complexity: the race condition requires a USB disconnect to be timed concurrently with an open substream close, which in practice warrants AC:H. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Upgrade to a patched Linux kernel release: 6.12.109 or later for the 6.12 stable series, 6.18.50 or later for the 6.18 stable series, 7.2.4 or later for the 7.2 stable series, or 7.3-rc1 or later for the mainline series. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory Linux systems with BCD2000 USB MIDI devices connected and identify kernel versions in use. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-80971 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy