CVE-2026-99222 in LinuxИнформация

Сводка

по VulDB • 02.11.2026

В ядре Linux была устранена следующая уязвимость:

keys: Защита проверки метода чтения от удаления типа

Функция keyctl_read_key() проверяет ключ->тип->чтение без захвата ключа->sem. Ссылка сохраняет объект ключа живым, но не фиксирует модуль, содержащий его тип. Поэтому существующий ключ RxRPC может быть прочитан во время выгрузки AF_RXRPC:

KEYCTL_READ task Module unload and key GC ---------------- ------------------------ lookup_user_key() permission / possession checks load key->type af_rxrpc_exit() unregister_key_type() GC: down_write(key->sem) GC: retype to key_type_dead GC: up_write(key->sem) unregister_key_type() returns free_module() read saved type's read member

Конечный доступ может прочитать освобожденное хранилище модуля. Вызов чтения в __keyctl_read_key() уже защищен ключом->sem, но более ранняя проверка метода находится вне этого критического раздела.

Переместите проверку метода в __keyctl_read_key(), после key_validate() и под его существующим захватом на ключ->sem. Проверка и вызов затем используют один и тот же защищенный тип для запросов длины и каждой повторной попытки чтения. GC не может изменить тип ключа до тех пор, пока семафор не будет освобожден, а регистрация типа ожидает этого прохода GC перед тем, как модуль сможет быть освобожден.

Возвращайте -EOPNOTSUPP, когда проверка успешна и у типа нет метода чтения. Временный буфер может теперь выделяться до получения этого результата; выделение и копирование в пользовательское пространство остаются вне семафора.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

02.11.2026

Модерация

принято

Вход

VDB-429911

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!