CVE-2026-64233

Linux kernel (GCP) vulnerabilities

Beschreibung

Im Linux-Kernel wurde die folgende Schwachstelle behoben:

usb: gadget: uvc: Halte opts->lock während der XU-Durchläufe in uvc_function_bind

uvc_function_bind() durchläuft &opts->extension_units zweimal, ohne opts->lock zu halten:

  • direkt für den iExtension String-Descriptor Fixup-Schleifenlauf;
  • indirekt viermal über uvc_copy_descriptors() (einmal pro Geschwindigkeit), wobei der Hilfsfunktion iteriert uvc->desc.extension_units (was &opts->extension_units aliasiert) zur Größe und zum Ausgeben von XU-Deskriptoren.

Die configfs-Seite (uvcg_extension_make / uvcg_extension_drop, in drivers/usb/gadget/function/uvc_configfs.c) nimmt opts->lock um ihre list_add_tail / list_del Operationen. Ein privilegierter Benutzerprozess, der die configfs-Unterbaum offen hält und den Gadget UDC-Namen schreibt, um die Funktion zu binden, während er gleichzeitig ein Extensions-Subverzeichnis mit rmdir() entfernt, kann uvcg_extension_drop() gegen die Bind-Zeit Listen-Durchläufe rennen und eine freigegebene struct uvcg_extension dereferenzieren.

Halte opts->lock vom Beginn des XU String-Descriptor Fixup bis zum letzten Aufruf von uvc_copy_descriptors(), löse auf dem Fehlerpfad über ein neues error_unlock Label, das den Lock vor dem Übergang zur bestehenden error Bezeichnung fallen lässt. Dies entspricht der Sperrdisziplin der configfs Callbacks und entfernt die einzige verbleibende unsynchronisierte Leserin der XU-Liste während der Bindung.

Erreichbarkeit: Nur privilegierte Prozesse, die configfs mounten und in Gadget UDC Dateien schreiben können, können den Rennen auslösen. Daher handelt es sich um eine Korrektheitsbehebung anstelle einer Sicherheitsgrenze.

Metriken

Severity
medium
kein öffentlicher PoC bekannt
5.5
Quelle: nvd-v3
1.7 %
Niedrig — CVE gehört zu den unteren 10 % der heute bewerteten CVEs.
0.1 %
Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Veröffentlicht
2026-09-07 09:05 UTC

Re-Analyse & Statuswechsel

Chronologie der NVD-Audit-Events für diese CVE — Reanalyses, CVSS-Updates, CPE-Diffs.

  1. New CVE Received2026-07-24 16:16 UTC· 416baaa9-dc9f-4396-8d5f-8c081fb06d67
    • Affected: Linux, Linux
    • Description: In the Linux kernel, the following vulnerability has been resolved: usb: gadget: uvc: hold opts->lock across XU walks in uvc_function_bind uvc_function_bind() walks &opts->extension_units twice without holding opts->lock: - directly, for the iExtension string-descriptor fixup loop; - indirectly, four times via uvc_copy_descriptors() (once per speed), where the helper iterates uvc->desc.extension_units (which aliases &opts->extension_units) to size and emit XU descriptors. The configfs side (uvcg_extension_make / uvcg_extension_drop, in drivers/usb/gadget/function/uvc_configfs.c) takes opts->lock around its list_add_tail / list_del operations. A privileged userspace process that holds the configfs subtree open and writes the gadget UDC name to bind the function while concurrently rmdir()'ing an extensions subdir can race uvcg_extension_drop() against the bind-time list walks and dereference a freed struct uvcg_extension. Hold opts->lock from the start of the XU string-descriptor fixup through the last uvc_copy_descriptors() call, releasing on the descriptor-error path via a new error_unlock label that drops the lock before falling through to the existing error label. This matches the locking discipline of the configfs callbacks and removes the only remaining unsynchronised reader of the XU list during bind. Reachability: only privileged processes that can mount configfs and write to gadget UDC files can trigger the race, so this is a correctness fix rather than a security boundary.
    • Reference: https://git.kernel.org/stable/c/2c9e0905ef7e69f7b814cd709613f6b3b5b98805
    • Reference: https://git.kernel.org/stable/c/5f1b9cff88982e2a2053d8b1fd983f7ccb9f03cc

Betroffene Betriebssysteme

  • linux

    redhat / enterprise_linux10.0

  • linux

    redhat / enterprise_linux7.0

  • linux

    redhat / enterprise_linux8.0

  • linux

    redhat / enterprise_linux9.0

  • linux

    ubuntu / linux-aws-6.8jammy

  • linux

    ubuntu / linux-azureresolute

  • linux

    ubuntu / linux-azuretrusty

  • linux

    ubuntu / linux-azurexenial

  • linux

    ubuntu / linux-azure-4.15bionic

  • linux

    ubuntu / linux-azure-5.4bionic

  • linux

    ubuntu / linux-azure-fdenoble

  • linux

    ubuntu / linux-azure-fderesolute

  • linux

    ubuntu / linux-azure-fde-6.8jammy

  • linux

    ubuntu / linux-azure-fipsbionic

  • linux

    ubuntu / linux-azure-fipsfocal

  • linux

    ubuntu / linux-azure-fipsnoble

  • linux

    ubuntu / linux-fipsjammy

  • linux

    ubuntu / linux-gcp-7.0noble

  • linux

    ubuntu / linux-gkejammy

  • linux

    ubuntu / linux-nvidia-tegranoble

  • linux

    ubuntu / linux-raspinoble

  • linux

    ubuntu / linux-raspi-realtimenoble

  • linux

    linux / linux_kernel2.6.12

  • linux

    linux / linux_kernel2.6.15

Quellen & Referenzen

Verknüpfte CVEs

1392 weitere CVEs anzeigen
IDCVE-2026-64233
Linux kernel (GCP) vulnerabilities — CVE-2026-64233 | NEOSEC Intel