Уязвимость позволяет получить из памяти ядра конфиденциальные данные.
Разработчики Linux и Windows вынуждены срочно переписывать части ядер в связи с серьезной ошибкой в проектировании процессоров Intel, выпущенных за последнее десятилетие. Уязвимость также затрагивает ARM64.
Подробности об аппаратной проблеме не раскрываются до публикации исправлений, которых следует ожидать в середине текущего месяца с выходом плановых бюллетеней безопасности. Исследователь Brainsmoke уже представил PoC-эксплоит, способный читать закрытую память ядра при запуске непривилегированного процесса.
Уязвимость связана с тем, что при спекулятивном выполнении кода чипы производства Intel не проверяют безопасность инструкций, позволяющих читать сегменты памяти. Таким образом, любое приложение может получить доступ к памяти ядра и прочитать конфиденциальные данные (например, ключи шифрования и пароли). Особо опасна уязвимость для систем виртуализации, поскольку с ее помощью злоумышленник может получить доступ к памяти за пределами гостевой системы.
Разработчики предложили временное решение проблемы – полностью разделили память ядра и память пользовательского ПО. Тем не менее, из-за этого все время нужно менять указатели на память, поэтому производительность программ значительно уменьшается. Попытка обхода проблемы на компьютерах с процессорами Intel чревата уменьшением производительности ПО на 5-30% и даже на 63% при выполнении определенных задач. На машинах с более новыми процессорами падение производительности при применении исправления не так заметно благодаря PCID/ASID.
Согласно официальному пресс-релизу Intel, уязвимость затрагивает процессоры не только ее производства. Проблеме также подвержены чипы и устройства от других производителей.