Компания Intel опубликовала (https://www.intel.com/content/www/us/en/security-center/advi...) сведения о новой уязвимости (https://blog.cyberus-technology.de/posts/2018-06-06-intel-la...) (CVE-2018-3665) в механизме спекулятивного выполнения инструкций, которая получила кодовое название LazyFP. Проблема затрагивает только процессоры линейки Intel Core и проявляется при использовании "ленивого" (lazy) режима переключения контекста FPU, при котором реальное восстановление состояния регистров производится не сразу после переключения контекста, а только при выполнении первой инструкции, которая манипулирует восстанавливаемыми регистрами. На чипах Intel Atom/Knights и CPU AMD проблема не проявляется.Уязвимости присвоен средний уровень опасности (CVSS 4.3 из 10) - через проведение атаки по сторонним каналам атакующий может (https://twitter.com/cperciva/status/1007011664300892160) определить значения регистров FPU, MMX, SSE, AVX и AVX-512, используемых другим процессом. Например, в данных регистрах могут содержаться параметры для криптографических вычислений и имеющий доступ к локальной системе злоумышленник может попытаться использовать их для определения ключа шифрования. При использовании систем виртуализации проблема может применяться (http://openwall.com/lists/oss-security/2018/06/13/12) для определения состояния регистров другой гостевой системы или другого процесса в текущей гостевой системе.
По своей сути уязвимость LazyFP близка к обнародованной (https://www.opennet.ru/opennews/art.shtml?num=48639) в конце мая проблеме Spectre 3a (CVE-2018-3640, RSRE - Rogue System Register Read). Публикация детального описания атаки отложена до августа по просьбе представителей Intel, чтобы дать пользователям время для установки исправлений. В качестве меры для блокирования уязвимости рекомендуется разработчикам ОС перейти от использования режима Lazy FP к режиму Eager FP (ранее восстановление состояния регистров) через установку соответствующих флагов XSAVE (https://www.felixcloutier.com/x86/XSAVE.html) или XCR0. Предложенный метод защиты не оказывает негативного влияния на производительность.
В ядре Linux защита была реализована (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) ещё в феврале 2016 года, путём применения по умолчанию режима Eager FP (eagerfpu=on) и удаления (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) возможности активации Lazy FP. Уязвимость присутствует в ядрах Linux до версии 4.6 или на системах с процессорами без поддержки инструкции XSAVE (до Sandy Bridge), в которых по умолчанию применялся режим Lazy FP. Обновления пакетов с ядром подготовлены для Debian (https://security-tracker.debian.org/tracker/CVE-2018-3665) и ожидаются для Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2018/CVE-2...), SUSE/openSUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2018-3665) и RHEL (RHEL 7 подвержен уязвимости частично, так как уже использует по умолчанию режим переключения контекста Eager FP на CPU Intel Sandy Bridge и более новых системах). Патчи с устранением проблемы также приняты в кодовые базы FreeBSD (https://lists.freebsd.org/pipermail/freebsd-security/2018-Ju...), OpenBSD (https://marc.info/?l=openbsd-cvs&m=152818076013158&w=2) и DragonflyBSD (http://lists.dragonflybsd.org/pipermail/commits/2018-June/67...). Отдельно исправления выпущены (http://openwall.com/lists/oss-security/2018/06/13/12) для гипервизора Xen.
URL: https://www.intel.com/content/www/us/en/security-center/advi...
Новость: https://www.opennet.ru/opennews/art.shtml?num=48775