V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыДокументация
CVE-2024-26670
DEB
Средний

В ядре Linux устранена следующая уязвимость: arm64: entry: исправление ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD В настоящее время обходной …

CVSS
4.4
Средний
EPSS
0.00
p3
Опубликовано
2024-01-01
Обновлено
2024-01-01
Описание

В ядре Linux устранена следующая уязвимость: arm64: entry: исправление ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD В настоящее время обходной путь ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD не совсем правильный, поскольку он должен применяться после последнего явного доступа к памяти, но за ним сразу же следует LDR. Обходной путь ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD используется для обработки ошибок Cortex-A520 2966298 и Cortex-A510 3117295, которые описаны в: * https://developer.arm.com/documentation/SDEN2444153/0600/?lang=en * https://developer.arm.com/documentation/SDEN1873361/1600/?lang=en В обоих случаях обходной путь описывается как: | Если изоляция таблиц страниц отключена, логика переключения контекста в | ядре может быть обновлена для выполнения следующей последовательности на затронутых | ядрах перед выходом в EL0 и после всех явных обращений к памяти: | | 1. TLBI, не являющийся общим, для любого контекста и/или адреса, включая | неиспользуемые контексты или адреса, такие как `TLBI VALE1 Xzr`. | | 2. DSB NSH для гарантии завершения TLBI. | Важной частью является то, что TLBI+DSB должны быть размещены "после всех явных обращений к памяти". К сожалению, в реализованном виде за TLBI+DSB сразу же следует LDR, так как у нас есть: | alternative_if ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD | tlbi vale1, xzr | dsb nsh | alternative_else_nop_endif | alternative_if_not ARM64_UNMAP_KERNEL_AT_EL0 | ldr lr, [sp, #S_LR] | add sp, sp, #PT_REGS_SIZE // restore sp | eret | alternative_else_nop_endif | | [ ... KPTI exception return path ... ] Этот патч исправляет это, перерабатывая логику для размещения TLBI+DSB непосредственно перед ERET, после всех явных обращений к памяти. ERET в настоящее время находится в отдельном альтернативном блоке, и альтернативы не могут быть вложенными. Чтобы учесть это, альтернативный блок для ARM64_UNMAP_KERNEL_AT_EL0 заменяется одной альтернативной ветвью, чтобы пропустить логику KPTI, при этом новая форма логики выглядит следующим образом: | alternative_insn "b .L_skip_tramp_exit_\@", nop, ARM64_UNMAP_KERNEL_AT_EL0 | [ ... KPTI exception return path ... ] | .L_skip_tramp_exit_\@: | | ldr lr, [sp, #S_LR] | add sp, sp, #PT_REGS_SIZE // restore sp | | alternative_if ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD | tlbi vale1, xzr | dsb nsh | alternative_else_nop_endif | eret Новая структура означает, что обходной путь применяется только тогда, когда KPTI не используется; это нормально, как отмечено в документированных последствиях ошибки: | Изоляция таблиц страниц между EL0 и EL более высокого уровня предотвращает | возникновение проблемы. ... и согласно приведенному выше описанию обходного пути, обходной путь необходим только "Если изоляция таблиц страниц отключена".

Теги · CWE
CWE-1300
CWE-787
CAPEC-189
CAPEC-699
Затронутые продукты
KernelKernelLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinux-allwinner-5.19Linux-awsLinux-awsLinux-awsLinux-awsLinux-awsLinux-aws
Вектор CVSS
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
Хронология
2024-01-01
Опубликована
2024-01-01
Обновлена
Разбор CVSS 3.1
Вектор атаки
AV: L
Локальная (L)
Сложность атаки
AC: L
Низкая (L)
Требуемые привилегии
PR: H
Высокие (H)
Взаимодействие с пользователем
UI: N
Отсутствует (N)
Область воздействия
S: U
Неизменная (U)
Воздействие на конфиденциальность
C: N
Отсутствует (N)
Воздействие на целостность
I: N
Отсутствует (N)
Воздействие на доступность
A: H
Высокое (H)
Индикаторы эксплуатации
EPSS
0.000 · p3
Известна эксплуатация (KEV)
Нет
Проверки Сканер-ВС
Проверок Сканер-ВС для этой уязвимости в базе пока нет.
Уязвимое ПО
ПродуктВендорСтатус
kernelОтслеживается
kernelОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linux-allwinner-5.19Отслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
Источники данных
DEB
CVE
RED
UBU