Linux Kernel bis 7.2-rc4 usb gadget f_midi f_midi_free Pufferüberlauf

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
7.8$0-$5k1.82

Zusammenfassunginfo

In Linux Kernel bis 6.6.147/6.12.100/6.18.41/7.1.5/7.2-rc4 wurde eine Schwachstelle ausgemacht. Sie wurde als sehr kritisch eingestuft. Es geht dabei um die Funktion f_midi_free der Komponente usb gadget f_midi. Mittels Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Die Verwundbarkeit wird unter CVE-2026-64584 geführt. Der Angriff erfordert einen lokalen Zugriff. Es ist soweit kein Exploit verfügbar.

Detailsinfo

Eine Schwachstelle wurde in Linux Kernel bis 6.6.147/6.12.100/6.18.41/7.1.5/7.2-rc4 entdeckt. Sie wurde als sehr kritisch eingestuft. Hierbei geht es um die Funktion f_midi_free der Komponente usb gadget f_midi. Durch Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-416. Dies hat Einfluss auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_midi: cancel pending IN work before freeing the midi object The f_midi driver embeds a work item (midi->work) whose handler, f_midi_in_work(), dereferences the enclosing struct f_midi through container_of(). This work is armed from two sites: f_midi_complete(), on a normal IN-endpoint completion, and f_midi_in_trigger(), on an ALSA rawmidi output-stream start. Neither f_midi_disable() nor f_midi_unbind() cancels midi->work. f_midi_disable() only disables the endpoints and drains the in_req_fifo; it does not synchronize the work item, and the sound card is released asynchronously to the final free of the midi object. The midi object is reference-counted (midi->free_ref) and is freed in f_midi_free() only once both the usb_function reference and the rawmidi private_data reference have been dropped. In f_midi_unbind(), f_midi_disable() runs before the sound card is released, so while the USB endpoints are already disabled the rawmidi device is still usable by an open substream. A concurrent userspace write on such a substream can reach f_midi_in_trigger() and queue midi->work again after f_midi_disable() has returned. A work item armed this way may still be pending when the last reference drops and f_midi_free() proceeds to kfree(midi), letting f_midi_in_work() dereference the struct after it has been freed, a use-after-free. For this reason cancelling midi->work in f_midi_disable() would not be sufficient: the ALSA trigger path can rearm the work after disable() returns. Cancelling at the refcount-zero free site is the boundary after which neither arming source can survive, because by then both references that keep the midi object alive have been dropped: the USB endpoints are already disabled and the rawmidi device has been released. Fix this by calling cancel_work_sync(&midi->work) in the refcount-zero block of f_midi_free(), before the embedded work_struct is freed along with the rest of the structure. opts->lock is a sleeping mutex, so calling cancel_work_sync() under it is permitted, and the handler takes midi->transmit_lock rather than opts->lock, so no self-deadlock can occur while it waits for a running instance of the work to finish. This issue was found by an in-house static analysis tool.

Bereitgestellt wird das Advisory unter git.kernel.org. Die Verwundbarkeit wird seit dem 19.07.2026 mit der eindeutigen Identifikation CVE-2026-64584 gehandelt. Die Ausnutzbarkeit gilt als leicht. Umgesetzt werden muss der Angriff lokal. Um eine Ausnutzung durchzusetzen, muss eine erweiterte Authentisierung umgesetzt werden. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 06.08.2026).

Ein Aktualisieren auf die Version 6.6.148, 6.12.101, 6.18.42, 7.1.6 oder 7.2-rc5 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 380b4bef46c2eb260c7a9c6bb2c5be33ce5a38f9/87bc316dd6fc90072297c635e10b9aa6075ecda1/f45089eaad0a083d71d84ff175741d7e157d9b69/ac9a51d910bb7465c554c45320cb6c09f3d0b49d/5650c18d93a1db7e27cb5a40b394747eb4686d5b lösen.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 8.2
VulDB Meta Temp Score: 7.8

VulDB Base Score: 8.2
VulDB Temp Score: 7.8
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Pufferüberlauf
CWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Teilweise
Lokal: Ja
Remote: Nein

Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 6.6.148/6.12.101/6.18.42/7.1.6/7.2-rc5
Patch: 380b4bef46c2eb260c7a9c6bb2c5be33ce5a38f9/87bc316dd6fc90072297c635e10b9aa6075ecda1/f45089eaad0a083d71d84ff175741d7e157d9b69/ac9a51d910bb7465c554c45320cb6c09f3d0b49d/5650c18d93a1db7e27cb5a40b394747eb4686d5b

Timelineinfo

19.07.2026 CVE zugewiesen
06.08.2026 +18 Tage Advisory veröffentlicht
06.08.2026 +0 Tage VulDB Eintrag erstellt
06.08.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Hersteller: kernel.org

Advisory: git.kernel.org
Status: Bestätigt

CVE: CVE-2026-64584 (🔒)
GCVE (CVE): GCVE-0-2026-64584
GCVE (VulDB): GCVE-100-386489

Eintraginfo

Erstellt: 06.08.2026 09:37
Anpassungen: 06.08.2026 09:37 (59)
Komplett: 🔍
Cache ID: 216::103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you need the next level of professionalism?

Upgrade your account now!