Уязвимость получила название CVE-2012-0217, с ее помощью хакеры могут заставить чип Intel вернуть общую ошибку защиты в привилегированном режиме. Этого будет достаточно, чтобы выполнить код с привилегиями ядра даже из очень ограниченного аккаунта или получить контроль над хостовой ОС из виртуальной машины. Уязвимость наблюдается только на процессорах Intel с расширениями Intel 64.
Впрочем, отмечают эксперты, эксплуатация данной бреши потребует предварительного запуска специального подготовленного кода локальным пользователем, что изрядно снижает вероятность эксплуатации этой "дыры", особенно после выпуска заплаток для операционных систем.
По данным ХАКЕР.ру, пострадавшие вендоры, среди которых Citrix, FreeBSD, Joyent, Microsoft, NetBSD, Oracle, Red Hat, SUSE Linux, Xen, Debian GNU/Linux и др., были уведомлены еще в мае и к настоящему моменту выпустили необходимые патчи.
Уязвимость опирается на сложный механизм копирования памяти из одного уровня безопасности на другой. Когда компания AMD создавала набор команд x86-64, было принято решение ограничить адресуемое пространство 48 разрядами, оставив неиспользуемыми прочие разряды до 64-го.
Для противодействия хакерам, которые могут попытаться разместить зловредные данные в пустующей области, AMD-процессоры требуют так называемых канонических адресов, в которых разряды с 48 по 64 заполнены одинаково бессмысленными данными. Если пользователь без привилегированных прав попытается поднять свои права с неканоническими адресами, в AMD-чипах сработает защита с перезагрузкой программного обеспечения в безопасное место на уровне ядра.
Процессоры Intel работают сходным образом, но несколько иначе. На различных этапах в ходе повышения прав доступа выполняется проверка на каноничность адресов, и хакеру вполне по силам создать особый стек кода, который обманет процессоры Intel, восстанавливая неканонические адреса после общего отказа защиты.
Как только подобное произошло, процесс на уровне ядра укажет на пустующую область, содержащую готовый к выполнению вредоносный код, причем с запуском на самом высоком уровне безопасности.
Сама компания Intel отрицает наличие бага в процессорах. Она заявляет, что процессоры работают в точном соответствии со спецификациями, хотя эти спецификации составлялись компанией AMD, но почему-то процессоры Intel выполняют инструкцию SYSRET иначе, чем процессоры AMD.