CVE-2026-72443

CVE-2026-72443

published August 15, 2026

CVSS
—
EPSS
0%
Percentile
10.5
In the wild
Unconfirmed
What it is

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

ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints

MIDI 2.0 input URBs are started during snd_usb_midi_v2_create(). A

later setup failure can still jump to snd_usb_midi_v2_free(), which

currently frees each endpoint and its coherent URB buffers without first

stopping the submitted URBs. A completion can then dereference the

embedded URB context and endpoint state after they have been freed, or

try to resubmit from the stale endpoint.

This was observed as a KASAN slab-use-after-free in

input_urb_complete().

The buggy scenario involves two paths, with each column showing the order

within that path:

probe error path: USB completion path:

1. start_input_streams() submits 1. The HCD still owns a

input URBs. submitted input URB.

2. A later setup helper returns 2. input_urb_complete() runs

an error. with urb->context in ep.

3. snd_usb_midi_v2_free() frees 3. The completion reads ep

endpoint storage and URB buffers. state and can requeue URBs.

Make the endpoint destructor follow the same teardown ordering used for

disconnect when the endpoint has not already been disconnected: publish

ep->disconnected, kill the URBs synchronously, and drain the endpoint

before freeing URB buffers and endpoint storage. The guard avoids

repeating the stop sequence after the normal

snd_usb_midi_v2_disconnect_all() path, while still synchronizing the

direct MIDI 2.0 create-error free path.

Validation reproduced this kernel report:

BUG: KASAN: slab-use-after-free in input_urb_complete+0x37/0x1b0

Workqueue: usb_hub_wq hub_event

RIP: 0010:_raw_spin_unlock_irq+0x2e/0x50

Read of size 8

Call trace:

dump_stack_lvl+0x77/0xb0

print_report+0xce/0x5f0

input_urb_complete+0x37/0x1b0 (sound/usb/midi2.c:186)

srso_alias_return_thunk+0x5/0xfbef5

__virt_addr_valid+0x19f/0x330

kasan_report+0xe0/0x110

__usb_hcd_giveback_urb+0x112/0x1d0

dummy_timer+0xaaa/0x19a0

lock_is_held_type+0x9a/0x110

__lock_acquire+0x467/0x28b0

mark_held_locks+0x40/0x70

_raw_spin_unlock_irqrestore+0x44/0x60

lockdep_hardirqs_on_prepare+0xbb/0x1a0

__hrtimer_run_queues+0x101/0x520

hrtimer_run_softirq+0xd0/0x130

handle_softirqs+0x15b/0x670

__irq_exit_rcu+0xd0/0x170

irq_exit_rcu+0xe/0x20

sysvec_apic_timer_interrupt+0x6c/0x80

asm_sysvec_apic_timer_interrupt+0x1a/0x20

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00209 · 10.5th percentile
Published
2026-08-15T10:22Z
References (5)
EPSS history
Timeline
  • 15 AUG 05:56Z
    ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints
    cvelistv5