{
  "affected": [
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:13",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "6.12.100-1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:14",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "7.1.5-1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "details": "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-\u003econtext 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-\u003edisconnected, 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",
  "id": "DEBIAN-CVE-2026-72443",
  "modified": "2026-09-14T16:47:45.902772681Z",
  "published": "2026-08-15T06:22:18.160Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://security-tracker.debian.org/tracker/CVE-2026-72443"
    }
  ],
  "upstream": [
    "CVE-2026-72443"
  ]
}