CVE-2026-68341
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
W jądrze Linux w ovpn, funkcja unlock_ovpn() używa llist_for_each_entry() do iteracji po liście release_list, ale po zwolnieniu peera wewnątrz pętli, odczytuje peer->release_entry.next po jego zwolnieniu, co prowadzi do użycia po zwolnieniu.
Ocena ryzyka
Podatność może powodować awarię systemu lub potencjalne wykorzystanie do eskalacji uprawnień w jądrze.
Rekomendacja
Zastosuj poprawkę jądra Linux, która używa llist_for_each_entry_safe() do bezpiecznej iteracji.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ovpn: fix use after free in unlock_ovpn() unlock_ovpn() iterates over the release_list using llist_for_each_entry() and drops the peer reference inside the loop body via ovpn_peer_put(). If this drops the last reference, the peer is eventually freed. However, llist_for_each_entry() reads peer->release_entry.next in the loop advance expression, which runs after the body. By that time the peer may have already been freed, resulting in a use after free when advancing to the next list entry. Fix this by using llist_for_each_entry_safe(), which caches the next pointer before executing the loop body.

