Исследователь безопасности из компании Google Тэвис Орманди сообщил об обнаружении новой уязвимости Reptar (Denial of Service — Privilege Escalation), затрагивающей многие настольные, серверные, мобильных и встраиваемые системы Intel, включая продукты на микроархитектурах Alder Lake, Raptor Lake и Sapphire Rapids.
Разработчики из Intel в начале ноября выпустили необходимые патчи для микрокода своих процессоров против этой проблемы с избыточным префиксом (Redundant Prefix Issue). Список уязвимых решений Intel находится на этой странице.
Уязвимость получила номер CVE-2023-23583. С её помощью эксперты смогли выполнить повышение привилегий до уровня администратора на некоторых системах, а также провели атаку типа «отказ в обслуживании» через локальный доступ к тестовым серверам и даже облачным системам.
«При определённых микроархитектурных условиях Intel выявила случаи, когда выполнение инструкции (REP MOVSB), закодированной с помощью избыточного префикса REX, может привести к непредсказуемому поведению системы, приводящему к сбою/зависанию системы, или, в некоторых ограниченных сценариях, может привести к эскалации привилегий (EoP) с CPL3 на CPL0», — заявили в Intel.
«Intel не ожидает, что эта проблема может возникнуть в каком-либо невредоносном реальном программном обеспечении. Ожидается, что избыточные префиксы REX не будут присутствовать в коде и не будут генерироваться компиляторами. Вредоносное использование этой проблемы требует выполнения произвольного кода. Intel определила потенциал для повышения привилегий в ограниченных сценариях в рамках нашей внутренней проверки безопасности в контролируемой лабораторной среде Intel», — уточнили в Intel.
В компании пояснили, что обновление микрокода для устранения этой уязвимости не оказывает никакого влияния на производительность продуктов Intel на микроархитектурах Alder Lake, Raptor Lake и Sapphire Rapids.
«Intel рекомендует как можно скорее обновить все процессоры до текущей версии микрокода, чтобы устранить эту проблему с избыточным префиксом. OEM- производителям и поставщикам операционных систем (OSV) также необходимо скорее предоставить обновления, содержащие новый микрокод», — добавили в компании.
Reptar — «очень странная» уязвимость
Исследователь Google Тэвис Орманди пояснил, что эта уязвимость была независимо обнаружена несколькими исследовательскими группами внутри Google, включая Google Information Security Engineering и команду silifuzz, которая назвала ее Reptar.
Вице-президент Google Cloud и директор по информационной безопасности Фил Венейблс объяснил, что уязвимость связана с тем, «как избыточные префиксы интерпретируются ЦП, что в случае успешной эксплуатации приводит к обходу границ безопасности ЦП». Хотя обычно избыточные префиксы следует игнорировать, из-за этой уязвимости они вызывают «очень странное поведение», как обнаружил Орманди во время тестирования на некоторых тестовых стендах.
«Во время тестирования мы наблюдали очень странное поведение. Например, переходы в неожиданные места, безусловные переходы игнорировались, а процессор больше не записывал указатель инструкций точно в инструкциях xsave или вызова», — раскрыл Орманди.
«Уже казалось, что только это может указывать на серьёзную проблему, но через несколько дней экспериментов мы обнаружили, что, когда несколько ядер начинали работать в нестабильных режимах перехода, то процессор сообщал об ошибке Machine Check Exception (MCE) и происходило выключение системы (halt)», — предупредил Орманди.
Оманди считает, что поставщики облачных услуг должны исправить эту уязвимость как можно скорее в своих системах, а системные администраторы и IT-компании должны проверить свои системы на наличие уязвимых процессоров также выполнить обновление микрокода.