CVE-2026-74609
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W jądrze Linux w module TIPC wykryto podatność use-after-free. Funkcja tipc_node_link_down() odczytuje wskaźnik do łącza przed uzyskaniem blokady, co przy równoczesnym usuwaniu łącza może prowadzić do odwołań do zwolnionej pamięci. Problem został naprawiony poprzez przeniesienie odczytu wskaźnika wewnątrz blokady.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do wywołania awarii systemu (paniki jądra) lub potencjalnie do wykonania kodu w kontekście jądra, co stanowi poważne zagrożenie dla integralności i dostępności systemu.
Rekomendacja
Zaleca się natychmiastowe zaktualizowanie jądra Linux do wersji zawierającej poprawkę dla CVE-2026-74609. Należy również monitorować komunikaty bezpieczeństwa dystrybucji i zastosować odpowiednie łatki.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-99215Nieznane
W jądrze Linux w podsystemie power supply występuje luka use-after-free. Jeśli zasilacz zostanie wyrejestrowany (power_supply_unregister) w trakcie wykonywania callbacku external_power_changed(), sterownik może zwolnić dane, do których callback nadal próbuje uzyskać dostęp, co prowadzi do awarii jądra (NULL pointer dereference).
- CVE-2026-99210Nieznane
W sterowniku accel/rocket jądra Linux funkcja rocket_probe() zapisuje wynik rocket_device_init() w globalnym wskaźniku rdev przed sprawdzeniem, czy jest to wskaźnik błędu. Przy niepowodzeniu rdev pozostaje jako ERR_PTR, a późniejsza próba może pominąć inicjalizację i wyłuskać wskaźnik błędu przy odczycie rdev->num_cores.
- CVE-2026-99209Nieznane
W sterowniku drm/xe jądra Linux funkcja xe_evict_flags() odczytuje tbo->resource->mem_type, ale bufor BO może trafić do eksmisji bez ttm.resource, np. importowany dma-buf, którego zasób zwolniono podczas rozbierania. Prowadzi to do wyłuskania wskaźnika NULL i błędu jądra.
- CVE-2026-99208Nieznane
W sterowniku drm/xe/oa jądra Linux bufory BO typu ttm_bo_type_kernel nie są gwarantowanie zerowane przy alokacji i mogą zawierać dane z wcześniej zwolnionych stron. Ponieważ bufor OA jest mapowalny przez przestrzeń użytkownika, może to ujawnić nieaktualną zawartość pamięci jądra.
- CVE-2026-99207Nieznane
W jądrze Linux w podsystemie scsi: target funkcja target_do_delayed_work() pobierała blokadę delayed_cmd_lock za pomocą zwykłego spin_lock(), nie wyłączając przerwań, podczas gdy wszystkie inne miejsca używają spin_lock_irqsave(). Odkąd komendy mogą być kończone w kontekście przerwania (complete_type=1 z direct_compl_supp), może to prowadzić do zakleszczenia, gdy ukończenie komendy trafi na ten sam CPU, na którym work item trzyma blokadę.
- CVE-2026-99205Nieznane
W jądrze Linux w funkcji sched_change_end() występuje wyścig z __sched_setscheduler() dla zadań zakolejkowanych, ale nieuruchomionych. Po zmianie klasy zadania (np. z SCHED_OTHER na SCHED_RR) wskaźnik rq->next_class nie jest aktualizowany, a wskaźnik potrzeby przeplanowania nie jest ustawiany, co prowadzi do bezczynności CPU mimo obecności gotowego do uruchomienia zadania.
- CVE-2026-99200Nieznane
W jądrze Linux sterownik sieciowy hisi_femac (net: hisilicon) przypisuje netdev_ops dopiero po podłączeniu PHY. Gdy włączone jest CONFIG_NET_SHAPER, phy_attach_direct() odczytuje niezainicjowane netdev_ops, co powoduje panikę jądra z powodu dereferencji NULL.
- CVE-2026-99199Nieznane
W jądrze Linux sterownik hip04_eth (net: hisilicon) wywołuje of_phy_connect() przed przypisaniem ndev->netdev_ops. Przy włączonym CONFIG_NET_SHAPER phy_attach_direct() odczytuje niezainicjowane netdev_ops, powodując panikę jądra z dereferencją NULL.
- CVE-2026-99198Nieznane
W jądrze Linux sterownik owl_emac (net: ethernet: actions) wywołuje owl_emac_phy_init(), która podłącza PHY, przed przypisaniem netdev->netdev_ops. Przy włączonym CONFIG_NET_SHAPER phy_attach_direct() odczytuje niezainicjowane netdev_ops, powodując panikę jądra z dereferencją NULL.
- CVE-2026-99197Nieznane
W jądrze Linux sterownik mv643xx_eth podłącza PHY przed przypisaniem dev->netdev_ops. Przy włączonym CONFIG_NET_SHAPER phy_attach_direct() odczytuje niezainicjowane netdev_ops, powodując panikę jądra z dereferencją NULL.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: tipc: read le->link under the node lock in tipc_node_link_down() tipc_node_link_down() caches the link pointer before taking n->lock: struct tipc_link *l = le->link; /* unlocked */ if (!l) return; tipc_node_write_lock(n); if (!tipc_link_is_establishing(l)) { /* deref l */ ... tipc_link_reset(l); /* write into l */ if (delete) { kfree(l); le->link = NULL; The delete=true caller frees that very object under n->lock, so the lock does not protect the cached pointer against it: - CPU A, delete=false: tipc_rcv() on TIPC_LINK_DOWN_EVT, or the link supervision timer via tipc_node_timeout(), reads l unlocked and then dereferences it under n->lock; - CPU B, delete=true: netlink TIPC_NL_BEARER_DISABLE -> bearer_disable() -> tipc_node_delete_links() -> tipc_node_link_down(n, bearer_id, true) -> kfree(l). The link is freed with plain kfree(), not kfree_rcu(), and for UDP bearers disable_media() only schedules the asynchronous cleanup_bearer() work, so its synchronize_net() runs after the links are already gone. An in-flight CPU A that has read l therefore dereferences freed memory once B frees it: a use-after-free read in tipc_link_is_establishing(), and a use-after-free write via tipc_link_reset() on the establishing branch. The following trace was captured on 7.2.0-rc5-00284-gaf39eb111ce6: BUG: KASAN: slab-use-after-free in tipc_link_is_establishing (net/tipc/link.c:285) Read of size 4 at addr ffff88802e2aa068 by task swapper/2/0 tipc_link_is_establishing (net/tipc/link.c:285) tipc_node_link_down (net/tipc/node.c:1076) tipc_node_timeout (net/tipc/node.c:843) Allocated by task 9549: tipc_link_create (net/tipc/link.c:490) tipc_node_check_dest (net/tipc/node.c:1279) tipc_disc_rcv (net/tipc/discover.c:252) tipc_udp_recv (net/tipc/udp_media.c:389) Freed by task 9549: tipc_node_link_down (net/tipc/node.c:1084) tipc_node_delete_links (net/tipc/node.c:1320) bearer_disable (net/tipc/bearer.c:414) __tipc_nl_bearer_disable (net/tipc/bearer.c:992) Move the le->link read inside tipc_node_write_lock(), so it is serialised against the kfree() in the delete path. A racing teardown now either has not run yet, and we see a valid link, or has already run, and we see NULL.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

