GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-72443 (GCVE-0-2026-72443)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:56 – Updated: 2026-08-17 05:14
VLAI
Title
ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints
Summary
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
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d9c99876868c861afd0e9ce2cea407bbc446b3c9 , < bcdd5a7363bdd287253c406a9c0205f5722058e7 (git)
Affected: d9c99876868c861afd0e9ce2cea407bbc446b3c9 , < 3d961032a6e58fa485b3a4c0fe0f649334d887de (git)
Affected: d9c99876868c861afd0e9ce2cea407bbc446b3c9 , < 4c16176fc11a61b7545464cb47c98b0c8a055fcb (git)
Affected: d9c99876868c861afd0e9ce2cea407bbc446b3c9 , < 68286258698e15fe75073fb8d017003f8e493db1 (git)
Affected: d9c99876868c861afd0e9ce2cea407bbc446b3c9 , < f199c8a8bdd54296d3458777e70fe82a78bd9817 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.5
Unaffected: 0 , < 6.5 (semver)
Unaffected: 6.6.145 , ≤ 6.6.* (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "sound/usb/midi2.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "bcdd5a7363bdd287253c406a9c0205f5722058e7",
              "status": "affected",
              "version": "d9c99876868c861afd0e9ce2cea407bbc446b3c9",
              "versionType": "git"
            },
            {
              "lessThan": "3d961032a6e58fa485b3a4c0fe0f649334d887de",
              "status": "affected",
              "version": "d9c99876868c861afd0e9ce2cea407bbc446b3c9",
              "versionType": "git"
            },
            {
              "lessThan": "4c16176fc11a61b7545464cb47c98b0c8a055fcb",
              "status": "affected",
              "version": "d9c99876868c861afd0e9ce2cea407bbc446b3c9",
              "versionType": "git"
            },
            {
              "lessThan": "68286258698e15fe75073fb8d017003f8e493db1",
              "status": "affected",
              "version": "d9c99876868c861afd0e9ce2cea407bbc446b3c9",
              "versionType": "git"
            },
            {
              "lessThan": "f199c8a8bdd54296d3458777e70fe82a78bd9817",
              "status": "affected",
              "version": "d9c99876868c861afd0e9ce2cea407bbc446b3c9",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "sound/usb/midi2.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.5"
            },
            {
              "lessThan": "6.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.5",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints\n\nMIDI 2.0 input URBs are started during snd_usb_midi_v2_create(). A\nlater setup failure can still jump to snd_usb_midi_v2_free(), which\ncurrently frees each endpoint and its coherent URB buffers without first\nstopping the submitted URBs. A completion can then dereference the\nembedded URB context and endpoint state after they have been freed, or\ntry to resubmit from the stale endpoint.\n\nThis was observed as a KASAN slab-use-after-free in\ninput_urb_complete().\n\nThe buggy scenario involves two paths, with each column showing the order\nwithin that path:\n\nprobe error path:                         USB completion path:\n1. start_input_streams() submits          1. The HCD still owns a\n   input URBs.                               submitted input URB.\n2. A later setup helper returns           2. input_urb_complete() runs\n   an error.                                 with urb-\u003econtext in ep.\n3. snd_usb_midi_v2_free() frees           3. The completion reads ep\n   endpoint storage and URB buffers.         state and can requeue URBs.\n\nMake the endpoint destructor follow the same teardown ordering used for\ndisconnect when the endpoint has not already been disconnected: publish\nep-\u003edisconnected, kill the URBs synchronously, and drain the endpoint\nbefore freeing URB buffers and endpoint storage. The guard avoids\nrepeating the stop sequence after the normal\nsnd_usb_midi_v2_disconnect_all() path, while still synchronizing the\ndirect MIDI 2.0 create-error free path.\n\nValidation reproduced this kernel report:\nBUG: KASAN: slab-use-after-free in input_urb_complete+0x37/0x1b0\nWorkqueue: usb_hub_wq hub_event\nRIP: 0010:_raw_spin_unlock_irq+0x2e/0x50\nRead of size 8\nCall trace:\n  dump_stack_lvl+0x77/0xb0\n  print_report+0xce/0x5f0\n  input_urb_complete+0x37/0x1b0 (sound/usb/midi2.c:186)\n  srso_alias_return_thunk+0x5/0xfbef5\n  __virt_addr_valid+0x19f/0x330\n  kasan_report+0xe0/0x110\n  __usb_hcd_giveback_urb+0x112/0x1d0\n  dummy_timer+0xaaa/0x19a0\n  lock_is_held_type+0x9a/0x110\n  __lock_acquire+0x467/0x28b0\n  mark_held_locks+0x40/0x70\n  _raw_spin_unlock_irqrestore+0x44/0x60\n  lockdep_hardirqs_on_prepare+0xbb/0x1a0\n  __hrtimer_run_queues+0x101/0x520\n  hrtimer_run_softirq+0xd0/0x130\n  handle_softirqs+0x15b/0x670\n  __irq_exit_rcu+0xd0/0x170\n  irq_exit_rcu+0xe/0x20\n  sysvec_apic_timer_interrupt+0x6c/0x80\n  asm_sysvec_apic_timer_interrupt+0x1a/0x20"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:14:44.380Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/bcdd5a7363bdd287253c406a9c0205f5722058e7"
        },
        {
          "url": "https://git.kernel.org/stable/c/3d961032a6e58fa485b3a4c0fe0f649334d887de"
        },
        {
          "url": "https://git.kernel.org/stable/c/4c16176fc11a61b7545464cb47c98b0c8a055fcb"
        },
        {
          "url": "https://git.kernel.org/stable/c/68286258698e15fe75073fb8d017003f8e493db1"
        },
        {
          "url": "https://git.kernel.org/stable/c/f199c8a8bdd54296d3458777e70fe82a78bd9817"
        }
      ],
      "title": "ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72443",
    "datePublished": "2026-08-15T05:56:54.601Z",
    "dateReserved": "2026-08-09T03:40:39.930Z",
    "dateUpdated": "2026-08-17T05:14:44.380Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72443",
      "date": "2026-09-04",
      "epss": "0.00168",
      "percentile": "0.06292"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72443\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:22:18.160\",\"lastModified\":\"2026-08-17T06:19:11.710\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints\\n\\nMIDI 2.0 input URBs are started during snd_usb_midi_v2_create(). A\\nlater setup failure can still jump to snd_usb_midi_v2_free(), which\\ncurrently frees each endpoint and its coherent URB buffers without first\\nstopping the submitted URBs. A completion can then dereference the\\nembedded URB context and endpoint state after they have been freed, or\\ntry to resubmit from the stale endpoint.\\n\\nThis was observed as a KASAN slab-use-after-free in\\ninput_urb_complete().\\n\\nThe buggy scenario involves two paths, with each column showing the order\\nwithin that path:\\n\\nprobe error path:                         USB completion path:\\n1. start_input_streams() submits          1. The HCD still owns a\\n   input URBs.                               submitted input URB.\\n2. A later setup helper returns           2. input_urb_complete() runs\\n   an error.                                 with urb-\u003econtext in ep.\\n3. snd_usb_midi_v2_free() frees           3. The completion reads ep\\n   endpoint storage and URB buffers.         state and can requeue URBs.\\n\\nMake the endpoint destructor follow the same teardown ordering used for\\ndisconnect when the endpoint has not already been disconnected: publish\\nep-\u003edisconnected, kill the URBs synchronously, and drain the endpoint\\nbefore freeing URB buffers and endpoint storage. The guard avoids\\nrepeating the stop sequence after the normal\\nsnd_usb_midi_v2_disconnect_all() path, while still synchronizing the\\ndirect MIDI 2.0 create-error free path.\\n\\nValidation reproduced this kernel report:\\nBUG: KASAN: slab-use-after-free in input_urb_complete+0x37/0x1b0\\nWorkqueue: usb_hub_wq hub_event\\nRIP: 0010:_raw_spin_unlock_irq+0x2e/0x50\\nRead of size 8\\nCall trace:\\n  dump_stack_lvl+0x77/0xb0\\n  print_report+0xce/0x5f0\\n  input_urb_complete+0x37/0x1b0 (sound/usb/midi2.c:186)\\n  srso_alias_return_thunk+0x5/0xfbef5\\n  __virt_addr_valid+0x19f/0x330\\n  kasan_report+0xe0/0x110\\n  __usb_hcd_giveback_urb+0x112/0x1d0\\n  dummy_timer+0xaaa/0x19a0\\n  lock_is_held_type+0x9a/0x110\\n  __lock_acquire+0x467/0x28b0\\n  mark_held_locks+0x40/0x70\\n  _raw_spin_unlock_irqrestore+0x44/0x60\\n  lockdep_hardirqs_on_prepare+0xbb/0x1a0\\n  __hrtimer_run_queues+0x101/0x520\\n  hrtimer_run_softirq+0xd0/0x130\\n  handle_softirqs+0x15b/0x670\\n  __irq_exit_rcu+0xd0/0x170\\n  irq_exit_rcu+0xe/0x20\\n  sysvec_apic_timer_interrupt+0x6c/0x80\\n  asm_sysvec_apic_timer_interrupt+0x1a/0x20\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"sound/usb/midi2.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"d9c99876868c861afd0e9ce2cea407bbc446b3c9\",\"lessThan\":\"bcdd5a7363bdd287253c406a9c0205f5722058e7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d9c99876868c861afd0e9ce2cea407bbc446b3c9\",\"lessThan\":\"3d961032a6e58fa485b3a4c0fe0f649334d887de\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d9c99876868c861afd0e9ce2cea407bbc446b3c9\",\"lessThan\":\"4c16176fc11a61b7545464cb47c98b0c8a055fcb\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d9c99876868c861afd0e9ce2cea407bbc446b3c9\",\"lessThan\":\"68286258698e15fe75073fb8d017003f8e493db1\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d9c99876868c861afd0e9ce2cea407bbc446b3c9\",\"lessThan\":\"f199c8a8bdd54296d3458777e70fe82a78bd9817\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"sound/usb/midi2.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.5\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.5\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.145\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.97\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.40\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3d961032a6e58fa485b3a4c0fe0f649334d887de\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4c16176fc11a61b7545464cb47c98b0c8a055fcb\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/68286258698e15fe75073fb8d017003f8e493db1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bcdd5a7363bdd287253c406a9c0205f5722058e7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f199c8a8bdd54296d3458777e70fe82a78bd9817\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T17:40:50+00:00",
      "cve": "CVE-2026-72443",
      "id": "CVE-2026-72443",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72443.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…