CVE-2022-49124 in LinuxИнформация

Сводка

по VulDB • 14.06.2026

В ядре Linux устранена следующая уязвимость:

x86/mce: Обход ошибки (erratum) в инструкциях быстрого копирования строк

Редкий сценарий паники ядра может возникнуть при соблюдении следующих условий, вызванных ошибкой реализации в инструкциях быстрого копирования строк:

1. Происходит некорректируемая ошибка памяти. 2. Эта ошибка находится в первой кэш-линии страницы. 3. Ядро должно выполнять функцию `page_copy` для страницы, непосредственно предшествующей той странице, где обнаружена ошибка.

Инструкции быстрого копирования строк («REP; MOVS*») могут потреблять некорректируемую ошибку памяти из кэш-линии, следующей _сразу за_ целевым регионом для копирования, и вызывать машинную проверку ошибок (MCE).

Бит 0 регистра MSR_IA32_MISC_ENABLE может быть сброшен для отключения быстрого копирования строк, что позволит избежать подобных ложных срабатываний машинной проверки. Однако этот подход менее предпочтителен из-за постоянного снижения производительности. Учитывая редкость появления «отравленной» памяти (memory poison), целесообразно сохранять быстрое копирование строк включенным до момента фиксации события MCE.

Компания Intel подтвердила следующее: 1. Ошибка процессора, связанная с быстрым копированием строк, применима только к поколениям Skylake, Cascade Lake и Cooper Lake.

Непосредственный возврат из обработчика MCE: 2. Приведет к полному выполнению инструкции «REP; MOVS*» без потери или повреждения данных. 3. Не приведет к повторному срабатыванию другого события MCE на следующей отравленной кэш-линии в результате выполнения «REP; MOVS*». 4. Позволит возобновить выполнение кода с правильной точки. 5. Приведет к тому, что та же самая инструкция, вызвавшая исходное событие MCE, немедленно спровоцирует второе событие MCE при возникновении любых других ошибок выборки данных, поддающихся программному восстановлению (software recoverable). 6. Не является безопасной мерой без отключения быстрого копирования строк, так как следующее быстрое копирование той же области буфера на том же процессоре приведет к панике ядра (PANIC MCE).

Данное решение должно полностью устранить последствия ошибки реализации, за исключением того обстоятельства, что быстрое копирование строк будет отключено для затронутого гиперпотока, что вызовет снижение производительности.

Это все же лучше, чем падение операционной системы из-за событий MCE, возникающих в контексте нерелевантного процесса вследствие доступа «REP; MOVS*» в контексте ядра (например, при вызове `copy_page`).

Внедренные ошибки на первой кэш-линии 8 анонимных страниц процесса 'proc1' и наблюдаемое потребление события MCE процессом 'proc2' без паники системы (осуществлен прямой возврат).

Без данного исправления хост падал в течение нескольких минут из-за случайного процесса 'proc2', вызванного доступом ядра через `copy_page`.

[ bp: Исправление стиля комментариев + мелкие правки, удаление маловероятной проверки unlikely(), улучшение читаемости функции обхода ошибки (quirk). ]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

Linux

Резервировать

26.02.2025

Раскрытие

26.02.2025

Модерация

принято

Вход

VDB-297328

EPSS

0.00251

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!