Podatność w module batman-adv jądra Linux (mechanizm BLA – Bridge Loop Avoidance) umożliwia wyścig wskaźników prowadzący do dereferencji wskaźnika NULL (CWE-476). Ze względu na wynik CVSS 9.8 i sieciowy wektor ataku bez wymaganych uprawnień, podatność stanowi poważne zagrożenie dla systemów korzystających z tego modułu.
▸ Pokaż oryginał (EN)
In the Linux kernel, the following vulnerability has been resolved: batman-adv: hold claim backbone gateways by reference batadv_bla_add_claim() can replace claim->backbone_gw and drop the old gateway's last reference while readers still follow the pointer. The netlink claim dump path dereferences claim->backbone_gw->orig and takes claim->backbone_gw->crc_lock without pinning the underlying backbone gateway. batadv_bla_check_claim() still has the same naked pointer access pattern. Reuse batadv_bla_claim_get_backbone_gw() in both readers so they operate on a stable gateway reference until the read-side work is complete. This keeps the dump and claim-check paths aligned with the lifetime rules introduced for the other BLA claim readers.
Funkcja batadv_bla_add_claim() może zastąpić wskaźnik claim->backbone_gw i zwolnić ostatnie odwołanie do starej bramki (backbone gateway), podczas gdy inne wątki nadal dereferują ten wskaźnik. Ścieżka zrzutu danych netlink oraz funkcja batadv_bla_check_claim() uzyskują dostęp do pól claim->backbone_gw->orig i claim->backbone_gw->crc_lock bez wcześniejszego przypięcia (pinning) leżącego u podstaw obiektu bramki. Poprawka polega na ponownym wykorzystaniu funkcji batadv_bla_claim_get_backbone_gw() w obu odczytujących ścieżkach kodu, dzięki czemu operują one na stabilnej referencji do bramki przez cały czas trwania operacji odczytu.
Atakujący może wywołać dereferencję wskaźnika NULL lub wyścig wskaźników prowadzący do uszkodzenia pamięci, co w praktyce może skutkować odmową usługi (kernel panic) lub — w zależności od warunków — eskalacją uprawnień lub zdalnym wykonaniem kodu (RCE).
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawki zostały opublikowane w repozytorium kernel.org (stable) pod wskazanymi commitami. Zaleca się aktualizację do najnowszej stabilnej wersji jądra zawierającej wymienione łatki.
Linux Kernel — wersje wskazane w referencjach producenta (commity naprawcze dostępne w repozytorium kernel.org)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux Kernel
OSLinux3.57.06.7 – 6.12.82 (bez)3.5.1 – 6.1.169 (bez)6.19 – 6.19.13 (bez)6.13 – 6.18.23 (bez)6.2 – 6.6.135 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
IBM Aspera Faspex 4.4.2 Patch Level 1 and earlier could allow a remote attacker to execute arbitrary code on t...
VMware Workspace ONE Access and Identity Manager contain a remote code execution vulnerability due to server-s...
VMware Workspace One Access, Access Connector, Identity Manager, and Identity Manager Connector address have a...