Katalog CVE

CVE-2026-90224

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.30%

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

Streszczenie

W podsystemie NFC NCI jądra Linux funkcje nci_close_device() i nci_rx_work mogą równocześnie wywołać nci_data_exchange_complete(), co prowadzi do podwójnego wywołania sock_put() i niedomknięcia licznika referencji gniazda. Powoduje to zwolnienie gniazda będącego w użyciu (use-after-free). Poprawka zastępuje clear_bit() funkcją test_and_clear_bit(), dzięki czemu tylko pierwszy wywołujący kontynuuje.

Ocena ryzyka

Lokalny atakujący może wywołać use-after-free w jądrze, co może prowadzić do awarii systemu lub potencjalnej eskalacji uprawnień. Wymaga to dostępu do interfejsu NFC NCI i wywołania wyścigu.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką dla CVE-2026-90224. Ogranicz dostęp do interfejsów NFC dla nieuprzywilejowanych użytkowników.

Inne podatności w Linux kernel

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

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix double completion race in nci_data_exchange_complete nci_close_device() and nci_rx_work can both call nci_data_exchange_complete() concurrently. After commit 4527025d440ce8 ("nfc: nci: fix circular locking dependency in nci_close_device") moved flush_workqueue(ndev->rx_wq) after mutex_unlock(&ndev->req_lock), rx_work is no longer serialized with the explicit completion call in the close path. Both callers read the non-NULL callback pointer and invoke rawsock_data_exchange_complete(), which calls sock_put() -- but only one sock_hold() was taken, so the second sock_put() underflows the refcount and frees the socket while it is still in use. Replace the bare clear_bit(NCI_DATA_EXCHANGE) with test_and_clear_bit() so that only the first caller proceeds to invoke the callback.

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