CVE-2026-64112

Linux kernel (GCP) vulnerabilities

Beschreibung

Im Linux-Kernel wurde die folgende Schwachstelle behoben:

rbd: Eliminierung eines Rennzustands beim Entleeren von lock_dwork bei unmap

Angesichts der Art und Weise, wie rbd_lock_add_request() und rbd_img_exclusive_lock() geschrieben sind, kann lock_dwork mehr (wieder) eingereiht werden, als tatsächlich benötigt wird. Zum Beispiel tritt dies auf, wenn während einer laufenden rbd_acquire_lock() für eine andere I/O-Anfrage eine neue I/O-Anfrage eingeht. Dies ist erwartet und unter normalen Betriebsbedingungen mit der vorzeitigen Stornierung von lock_dwork durch rbd_release_lock() harmlos.

Ein problematischeres Beispiel könnte maybe_kick_acquire() sein:

if (have_requests || delayed_work_pending(&rbd_dev->lock_dwork)) {
    dout("%s rbd_dev %p kicking lock_dwork\n", __func__, rbd_dev);
    mod_delayed_work(rbd_dev->task_wq, &rbd_dev->lock_dwork, 0);
}

Es ist nicht unrealistisch, dass lock_dwork direkt nachdem delayed_work_pending() wahr zurückgibt storniert wird und mod_delayed_work() es dennoch sofort wieder einreihen könnte. Dies ist ein klassischer TOCTOU-Rennzustand.

Beim Entfernen des Images gibt es eine implizite Annahme, dass keine selbstinitiierte exklusive Sperrenaktivität nach dem Rückkehrpunkt von rbd_dev_image_unlock() erfolgt, das die Sperre freigibt, falls sie gehalten wird. Diese Freigabe gilt als endgültig und es wird nicht erwartet, dass lock_dwork (sowie alle anderen exklusiven Sperrenaufgaben) erneut eingereiht wird. Allerdings wird lock_dwork nur in cancel_tasks_sync() storniert (d.h. später im Entfernungsablauf), und darüber hinaus kann die Stornierung durch maybe_kick_acquire() effektiv aufgehoben werden. Dies könnte dazu führen, dass rbd_acquire_lock() nach dem Ausführen von rbd_dev_device_release() und rdb_dev_image_release(), die eine Vielzahl von Dingen freigeben oder zurücksetzen, ausgeführt wird. Eine mögliche Fehlerart ist dann ein verletztes

rbd_assert(rbd_image_format_valid(rbd_dev->image_format));

in rbd_dev_header_info(), das über rbd_dev_refresh() aus rbd_post_acquire_action() aufgerufen wird.

Die exklusive Sperrenaufgabenentleerung neu gestalten, um sinnvollere Semantik zu bieten und die Annahmen rund um rbd_dev_image_unlock() einzuhalten.

Metriken

Severity
high
kein öffentlicher PoC bekannt
7.4
Quelle: nvd-v3
0.9 %
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

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-64112
Linux kernel (GCP) vulnerabilities — CVE-2026-64112 | NEOSEC Intel