Все четыре уязвимости связаны с одной проблемой, а именно с возможностью утечки данных, позволяя злонамеренному процессу считывать данные из другого процесса, работающего на том же ядре. Сценарий атаки предполагает использование командных буферов в ядре.
Технически проблема оказывается на удивление очевидной. Данные буфера, используемые для спекулятивного выполнения, не удаляются при переключении между процессами. Атакующий может войти как сам, так и интерпретировать содержимое буферов и считывать информацию из другого процесса на том же ядре процессора. Важно, что это может произойти при переключении между ядром и пользовательским пространством, хостом и гостем или двумя различными процессами пользовательского пространства. То есть де-факто в любом случае.
Уязвимости получили обозначения: CVE-2018-12126, CVE-2018-12127, CVE-2018-12130 и CVE-2019-11091. Они представляют собой идентичную угрозу для пользователя, но отличаются по способу, необходимому для взлома (выборки) данных. Образно говоря, этот можно не только читать напрямую, но и использовать ссылки в строке памяти — регистры.
Дело настолько серьезное, что оно применимо практически ко всем современным процессорам Intel, начиная с Core 2 Duo и заканчивая Coffee Lakes. Более того, ошибки появляются даже в серверных системах и HEDT для баз из линейки LGA 20xx.
К счастью, производитель осознает этот недостаток и обещает быструю коррекцию микрокода, но не для устройств старше Core 2, известного как Sandy Bridge. Интересным фактом является способ исправления пробелов, который зависит от используемой системы. Как заявляет Intel, владельцы Windows должны обновить микрокоды. В случае систем Linux все еще придется ждать обновления ядра. Однако ведущие поставщики, такие как Canonical и Red Hat, по сообщениям, были проинформированы.
Исключением являются чипы 8-го и 9-го поколений, которые, несмотря на теоретическое наличие уязвимости, предварительно пропатчены программно. Intel так же рекомендует отключить технологию Hyper-Threading. Конечно, если компьютер используется в производстве, для задач, требующих максимальной безопасности. Если честно, для типичного домашнего пользователя ошибка не должна быть критичной. (И также нужно помнить, что реализация патча связана с каждым циклом сбора данных и очистки буфера, что может негативно отразиться на производительности системы).