Katalog CVE

CVE-2026-98723

Niskie ryzyko· EPSS 9%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

Percentyl 9 - wyżej niż 9% wszystkich znanych CVE

Streszczenie

W jądrze Linux w module nvmet funkcja nvmet_ctrl_init_pr() zapisuje hostid kontrolera, zanim dane połączenia (w tym hostid) zostaną skopiowane, przez co tworzone wpisy rezerwacji pc_ref zawierają zerowy UUID. Powoduje to, że operacje Preempt i Abort nie mogą dopasować hostid ofiary i degradują się do zwykłego Preempt, pozostawiając operacje I/O ofiary w toku.

Ocena ryzyka

Host wykonujący Preempt lub Abort może otrzymać potwierdzenie sukcesu, podczas gdy operacje I/O ofiary nadal trwają, co prowadzi do niespójności danych i problemów z integralnością rezerwacji w środowiskach NVMe over Fabrics.

Rekomendacja

Zaktualizować jądro Linux do wersji zawierającej poprawkę, która kopiuje hostid przed publikacją kontrolera i przed wykonaniem snapshotu w nvmet_ctrl_init_pr().

Inne podatności w Linux kernel (nvmet)

Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: nvmet: copy the hostid into the ctrl before creating PR pc_refs Commit 6202783184bf ("nvmet: Improve nvmet_alloc_ctrl() interface and implementation") added a second uuid_copy() of args->hostid near the end of nvmet_alloc_ctrl(), and commit 7b658153f1b8 ("nvmet: Remove duplicate uuid_copy") removed the original copy that sat before nvmet_ctrl_init_pr() instead of the new one. Since then nvmet_ctrl_init_pr() snapshots ctrl->hostid into the per-controller per-namespace reservation refs while the uuid_copy() from the connect data runs later, after the controller is published. The ctrl is allocated with kzalloc(), so every pc_ref created on this path stores the nil UUID. pc_ref->hostid has a single consumer: nvmet_pr_set_ctrl_to_abort() matches it against the preempted registrant's hostid to kill and drain the victim's in-flight I/O for Preempt and Abort. The match can never hit with the nil UUID, so whenever a namespace with reservations enabled exists before a host connects, which includes every reconnect, Preempt and Abort silently degrades into a plain Preempt: the preempting host sees success while the victim's in-flight I/O is still in the air. Copy the hostid where the rest of the connect data is consumed, before the controller is published and before nvmet_ctrl_init_pr() takes its snapshot.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS