US-CERT опубликовал предупреждение об уязвимости в 64-битных ОС, которые работают на процессорах Intel x86-64.
Во многих 64-битных операционных системах и виртуальных машинах, работающих на процессорах Intel x86-64, возможна локальная атака, направленная на эскалацию привилегий. Эксплойт может использоваться для локального повышения привилегий до уровня ядра ОС или супервизора, включая выход за пределы виртуальной машины.
Компания Intel отрицает наличие бага в процессорах. Она заявляет, что CPU работают в точном соответствии со спецификациями, хотя эти спецификации составлялись компанией AMD, но почему-то процессоры Intel выполняют инструкцию SYSRET иначе, чем процессоры AMD.
Почти никто из разработчиков виртуальных машин и операционных систем не учёл особенность инструкции SYSRET, специфичную для процессоров Intel, и поэтому они оказались уязвимы. Все пострадавшие были уведомлены 1-2 мая и к настоящему моменту выпустили патчи.
Проблема в том, что в процессорах Intel инструкция SYSRET выполняется не так, как у AMD. Из-за специфичной обработки неканонического адреса памяти в инструкции Intel SYSRET перед сменой привилегий в 64-х битном режиме в уязвимых ОС и VM было возможно выполнение произвольного кода из приложения (кольцо 3 привилегий архитектуры x86) прямо в ядро ОС (кольцо 0).
Список вендоров, выпустивших патчи: Citrix, FreeBSD, Intel, Joyent, Microsoft, NetBSD, Oracle, Red Hat, SUSE Linux, Xen, Debian GNU/Linux, Fedora Project.
Разработчики, у которых не было уязвимости: AMD, Apple, VMware.
Microsoft Security Bulletin MS12-042
Red Hat: RHSA-2012:0720-1 и RHSA-2012:0721-1.
Подробнее об уязвимости см. в блоге Xen.org.