В ядре Linux выявлена уязвимость (CVE-2019-8912), которая позволяет непривилегированному пользователю выполнить свой код на уровне ядра. По мнению некоторых поставщиков потенциально возможно нахождение векторов для эксплуатации уязвимости по сети, но данные сведения пока не подтверждены. В том числе Национальный институт стандартов и технологий США (NIST) отметил проблему как удалённо эксплуатируемую и легко воспроизводитмую.

Уязвимость вызвана ошибкой в реализации функции af_alg_release(), представленной в файле crypto/af_alg.c. Игнорирование установки значения NULL в некоторых полях структуры sockfs_setattr (sock->sk не выставлялся в NULL) может привести к обращению к уже освобождённым областям памяти (use-after-free) и созданию условий для выполнения кода непривилегированного локального пользователя в контексте ядра. Прототип эксплоита пока не подготовлен (потенциально атака может быть совершена через манипуляции с Crypto API с использованием сокета с типом AF_ALG).

Проблема была найдена в результате использования разработанного компанией Google анализатора KASAN (KernelAddressSanitizer), нацеленного на выявление ошибок при работе с памятью и фактов некорректного обращения к памяти, таких как обращения к освобождённым областям памяти и помещение кода в области памяти, не предназначенные для подобных манипуляций. KASAN был добавлен в состав ядра 4.0 и включается опцией «CONFIG_KASAN=y».

Уязвимость проявляется начиная с ветки ядра 2.6 и устранена в сегодняшних обновлениях ядра 4.20.11, 4.19.24, 4.14.102, 4.9.159, 4.4.175 и 3.18.135. Из дистрибутивов обновление пока выпущено только для Fedora. В Debian и Ubuntu уязвимость остаётся неисправленной. В ядрах из состава SUSE 11/12 и
Red Hat Enterprise Linux 5/6/7 проблема не проявляется (не может быть эксплуатирована).