Katalog CVE

CVE-2026-74510

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

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

Streszczenie

W jądrze Linux w podsystemie Bluetooth (mgmt) wykryto podatność use-after-free w anulowaniu polecenia pary. Funkcje zwrotne zakończenia parowania i nieudanego uwierzytelnienia wyszukują oczekujące polecenie MGMT_OP_PAIR_DEVICE, przeglądając hdev->mgmt_pending, ale bez utrzymywania zamka mgmt_pending_lock podczas późniejszego użycia i usunięcia. Równoczesne żądanie MGMT_OP_CANCEL_PAIR_DEVICE może usunąć i zwolnić to samo polecenie przed użyciem go przez funkcję zwrotną. Poprawka przenosi własność polecenia przez usunięcie go z listy hdev->mgmt_pending przytrzymując blokadę, a funkcje zwrotne i ścieżka anulowania kończą i zwalniają polecenie bezpośrednio.

Ocena ryzyka

Podatność może prowadzić do użycia po zwolnieniu pamięci i podwójnego usunięcia z listy, co może skutkować awarią systemu lub eskalacją uprawnień.

Rekomendacja

Zastosuj aktualizację jądra Linux zawierającą poprawkę dla CVE-2026-74510. Ogranicz dostęp do interfejsu Bluetooth dla nieufnych użytkowników.

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

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: mgmt: fix UAF in pair command cancellation The pairing completion and authentication failure callbacks look up the pending MGMT_OP_PAIR_DEVICE command by walking hdev->mgmt_pending. The lookup returned a command that was still linked on the shared pending list, without keeping mgmt_pending_lock held for the later dereference and removal. A concurrent MGMT_OP_CANCEL_PAIR_DEVICE request can remove and free the same pending command before the callback uses it. The reverse race is also possible when cancel_pair_device() gets a command from pending_find() and a callback removes it before the cancel path dereferences it. This can lead to a use-after-free and a second list_del(). Make the pairing lookup helpers transfer ownership of the pending command by removing it from hdev->mgmt_pending while holding mgmt_pending_lock. The callbacks and cancel path then complete the command and free it directly, so racing paths cannot find or free the same command again. Take a temporary hci_conn reference in cancel_pair_device() because the command completion drops the reference stored in the pending command.

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