Ubuntu Linux 6.8 GA сохраняет устаревший сборщик мусора AF_UNIX, но поддерживает восходящий коммит 8594d9b85c07 («af_unix: не вызывайте skb_get() для OOB skb»). Когда осиротевшие сокеты MSG_OOB обращаются к unix_gc(), сборщик мусора по-прежнему вызывает kfree_skb(), как если бы OOB SKB содержали две ссылки; в дереве ядра Ubuntu Linux 6.8 (Noble Numbat) у них есть только ссылка на очередь, поэтому буфер освобождается, пока все еще доступен, а последующие обходы очереди разыменовывают освобожденную память, обеспечивая надежное локальное повышение привилегий (LPE), вызванное использованием после освобождения (UAF). Сборки Ubuntu, которые уже использовали новый стек сборщика мусора из коммита 4090fa373f0e, и основные ядра Linux, поставляющие эту инфраструктуру, не затрагиваются, поскольку они больше не выполняют устаревший путь сборщика.
Эта проблема затрагивает Ubuntu Linux с версий 6.8.0-56.58 до 6.8.0-84.84.
Показать оригинальное описание (EN)
Ubuntu Linux 6.8 GA retains the legacy AF_UNIX garbage collector but backports upstream commit 8594d9b85c07 ("af_unix: Don’t call skb_get() for OOB skb"). When orphaned MSG_OOB sockets hit unix_gc(), the garbage collector still calls kfree_skb() as if OOB SKBs held two references; on Ubuntu Linux 6.8 (Noble Numbat) kernel tree, they have only the queue reference, so the buffer is freed while still reachable and subsequent queue walks dereference freed memory, yielding a reliable local privilege escalation (LPE) caused by a use-after-free (UAF). Ubuntu builds that have already taken the new GC stack from commit 4090fa373f0e, and mainline Linux kernels shipping that infrastructure are unaffected because they no longer execute the legacy collector path. This issue affects Ubuntu Linux from 6.8.0-56.58 before 6.8.0-84.84.
Характеристики атаки
Последствия
Строка CVSS v4.0