Katalog CVE

CVE-2024-26861

ŚrednieCVSS 4.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.18%

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

Streszczenie

W jądrze Linux w module WireGuard wykryto wyścig danych (data race) podczas dostępu do pola receiving_counter.counter w strukturze keypair. Problem został rozwiązany poprzez dodanie adnotacji READ_ONCE() i WRITE_ONCE(), które oznaczają ten wyścig jako zamierzony. Podatność została zidentyfikowana przez narzędzie Syzkaller z KCSAN.

Ocena ryzyka

Wyścig danych może prowadzić do nieprzewidywalnego zachowania, w tym do błędów w liczeniu pakietów, co potencjalnie może skutkować awarią systemu lub problemami z bezpieczeństwem komunikacji WireGuard. W środowiskach produkcyjnych może to powodować niestabilność usług sieciowych.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę (commit naprawczy). Jeśli aktualizacja nie jest możliwa, rozważ tymczasowe wyłączenie WireGuard lub monitorowanie systemu pod kątem nieprawidłowości.

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: wireguard: receive: annotate data-race around receiving_counter.counter Syzkaller with KCSAN identified a data-race issue when accessing keypair->receiving_counter.counter. Use READ_ONCE() and WRITE_ONCE() annotations to mark the data race as intentional. BUG: KCSAN: data-race in wg_packet_decrypt_worker / wg_packet_rx_poll write to 0xffff888107765888 of 8 bytes by interrupt on cpu 0: counter_validate drivers/net/wireguard/receive.c:321 [inline] wg_packet_rx_poll+0x3ac/0xf00 drivers/net/wireguard/receive.c:461 __napi_poll+0x60/0x3b0 net/core/dev.c:6536 napi_poll net/core/dev.c:6605 [inline] net_rx_action+0x32b/0x750 net/core/dev.c:6738 __do_softirq+0xc4/0x279 kernel/softirq.c:553 do_softirq+0x5e/0x90 kernel/softirq.c:454 __local_bh_enable_ip+0x64/0x70 kernel/softirq.c:381 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline] _raw_spin_unlock_bh+0x36/0x40 kernel/locking/spinlock.c:210 spin_unlock_bh include/linux/spinlock.h:396 [inline] ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline] wg_packet_decrypt_worker+0x6c5/0x700 drivers/net/wireguard/receive.c:499 process_one_work kernel/workqueue.c:2633 [inline] ... read to 0xffff888107765888 of 8 bytes by task 3196 on cpu 1: decrypt_packet drivers/net/wireguard/receive.c:252 [inline] wg_packet_decrypt_worker+0x220/0x700 drivers/net/wireguard/receive.c:501 process_one_work kernel/workqueue.c:2633 [inline] process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2706 worker_thread+0x525/0x730 kernel/workqueue.c:2787 ...

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