Katalog CVE

CVE-2026-72115

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.28%

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

Streszczenie

W jądrze Linux w module CAN BCM dodano śledzenie pojedynczego interfejsu źródłowego dla operacji ANYDEV z limitem czasu lub ograniczeniem prędkości. Wcześniej, gdy ramki pasowały z różnych interfejsów, mogło dochodzić do wyścigów i uszkodzenia danych. Teraz pierwszy interfejs, który dostarczy pasującą ramkę, jest zapamiętywany, a ramki z innych interfejsów są odrzucane.

Ocena ryzyka

Poprawka zapobiega nieprawidłowym powiadomieniom i uszkodzeniu danych, co zwiększa niezawodność systemów CAN.

Rekomendacja

Zastosuj poprawkę jądra, która wprowadza śledzenie interfejsu źródłowego dla operacji ANYDEV.

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

In the Linux kernel, the following vulnerability has been resolved: can: bcm: track a single source interface for ANYDEV timeout/throttle ops An ANYDEV rx op (ifindex == 0) with an active RX timeout and/or throttle timer has no defined semantics when matching frames arrive from several interfaces: bcm_rx_handler() can run concurrently for the same op on different CPUs, racing hrtimer_cancel()/ bcm_rx_starttimer() against bcm_rx_timeout_handler() and causing spurious RX_TIMEOUT notifications and last_frames corruption. The same concurrency lets throttled multiplex frames from different interfaces clobber the single rx_ifindex/rx_stamp fields shared by the op. Add op->if_detected to track the first interface that delivers a matching frame while a timeout/throttle timer is configured, and reject frames from any other interface for that op. The claim is decided in bcm_rx_handler() before hrtimer_cancel() touches op->timer, so a rejected frame can never disturb the claimed interface's watchdog. RTR-mode ops are excluded via RX_RTR_FRAME, independent of kt_ival1/kt_ival2, since those may briefly hold a stale value from an earlier non-RTR configuration. The claim is released in bcm_notify() on NETDEV_UNREGISTER and in bcm_rx_setup() when SETTIMER reconfigures the timer values. A (re-)claim is only possible on CAN devices in NETREG_REGISTERED dev->reg_state to cover the release in bcm_notify() where reg_state becomes NETREG_UNREGISTERING until synchronize_net().

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