Новокоригирана уязвимост в ядрото на Linux, проследявана като CVE-2026-46215, позволява на всеки локален потребител с достъп до GPU render възел да ескалира привилегиите си до root, без да са необходими специални разрешения.
Проблемът засяга основните версии на ядрото от v6.18-rc1 до коригираната версия. Той е докладван на security@kernel.org на 12 април 2026 г., а корекцията е внедрена в края на май 2026 г.
Грешката представлява използване на памет след освобождаване (use-after-free) в DRM GEM core ioctl DRM_IOCTL_GEM_CHANGE_HANDLE, добавен във v6.18-rc1 за работата по CRIU checkpoint/restore на AMD.
Този ioctl премества графичен буферен обект от един манипулатор към друг, но никога не актуализира броя на манипулаторите на обекта (handle_count). По време на кратък прозорец обектът има два записа в IDR (търсене по ID), докато броят на неговите манипулатори все още се отчита като 1.
Ако в този прозорец друга нишка извика DRM_IOCTL_GEM_CLOSE за стария манипулатор, това намалява броя до 0 и освобождава обекта, докато новият манипулатор все още сочи към вече освободената памет.
И двата ioctl носят флага DRM_RENDER_ALLOW, което означава, че всеки процес, който може да отвори /dev/dri/renderD*, може да предизвика това състояние на надпревара (race condition). В повечето настолни Linux системи systemd-logind предоставя този достъп на всеки влязъл потребител по подразбиране.
Доказателството за концепция (proof-of-concept) на Cyberstan свързва няколко техники за превръщане на освободения обект в пълен root достъп:
- Възстановява освободения слот памет чрез разпръснат масив от
pipe_bufferструктури - Изтича показалец към ядрото чрез припокриващи се полета на структури, за да заобиколи KASLR защита
- Задава флага
PIPE_BUF_FLAG_CAN_MERGEчрез трик с именуване на GEM обекти, заобикаляйки корекцията на DirtyPipe от 2022 г. - Презаписва файла за четене
/etc/passwdчрез кеша на страниците, премахвайки полето за парола на root потребителя
В рамките на 100 тестови стартирания експлойтът е успешен 99 пъти, отнемайки средно под 100 итерации на надпревара за постигане на успех.
Изследователят Puttimet Thammasaeng докладва същата грешка първи преди Cyberstan и получава официалното признание за CVE. Авторите на този анализ я откриват независимо и допринасят с отделно изследване на експлойта.
David Francis от AMD и поддържащият ядрото Dave Airlie пуснаха корекция, която затваря прозореца на надпревара с двуетапна операция idr_replace, връщайки промените чисто, ако паралелно затваряне спечели надпреварата.
Поддържащите ядрото отидоха по-далеч, деактивирайки напълно ioctl GEM_CHANGE_HANDLE в предстоящата версия 7.1. Коригираните версии са 6.18.32, 7.0.9 и 7.1-rc3 нататък.