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

В ядре Linux устранена следующая уязвимость: KVM: x86: Исправить жесткий блокировку VM после длительного бездействия с периодическим таймер…

CVSS
5.5
Средний
EPSS
0.00
p0
Опубликовано
2025-01-01
Обновлено
2025-01-01
Описание

В ядре Linux устранена следующая уязвимость: KVM: x86: Исправить жесткий блокировку VM после длительного бездействия с периодическим таймером HV При продвижении срока действия цели для гайморите гайшины APIC в периодической режим, установите истечение до "сейчас", если срок действия цели в прошлом (подобно тому, что сделано в update_target_expiration()). Слепое добавление период до предыдущего срока действия цели может привести к генерации KVM практически безграничное количество печатных IRQ из-за программирования и истекший таймер снова и снова. В экстремальных сценариях, например, если пользовательская приостанавливает/приостанавливает VM на длительный срок, это может даже вызвать тяжело Замки в хостах. В настоящее время ошибка затрагивает только процессоры Intel при использовании гипервизорного таймера (HV таймер), он же таймер упреждения VMX. В отличие от таймера программного обеспечения, a.k.a.hrtimer, который KVM продолжает работать даже на выходах в пространство пользователя, HV таймер работает только тогда, когда гость активен. В результате, если vCPU не работает в течение длительного времени, будет огромный разрыв между Истекшая цель и текущее время работы vCPU. Потому что срок действия целевого срока действия на каждый из них увеличился только на один период Истекатель времени, это приводит к серии истечения таймера, происходящих быстро после возобновления vCPU/VM. Более важно, когда vCPU впервые запускает периодический таймер HV истечение срока годности после возобновления, продление срока действия только на один период Это приведет к истечению срока действия цели в прошлом. В результате, дельта Может быть рассчитано как отрицательное значение. Когда дельта преобразуется в абсолютное значение (tscedline - неподписанный u64), полученное значение может переполнить то, что HV-таймер способен программировать. Т.е. большой значение превысит максимальную ширину бит таймера VMX cpu_preemption_timer_multi + 32, и таким образом заставляют KVM переключаться с HV таймер для таймера программного обеспечения (hrtimers). После перехода на таймер программного обеспечения, периодические звонки с истекающим временем времени может быть выполнен последовательно в пределах одного обработчика прерывания часов, потому что краткие часы выполняют просьбу KVM об истечении срока годности в прошлом и Немедленно отзывается об обратном звонке KVM после перепрограммирования. И потому, что обработчик прерываний работает с отключенными IRQ, перезапуская таймер KVM снова и снова, пока цель не будет расширена до «сейчас», может привести к в жесткой изоляторе. Например, следующий жесткий замок был спровоцирован в хосте при запуске Windows VM (имеет значение только потому, что использовала таймер APIC в периодическом режиме) после возобновления ВМ из длинной приостановки (в хосте). NMI сторожевой пёс: Сторожевой пёс обнаружил жесткий ЛОКУП на cpu 45 ... RIP: 0010:advance_periodic_periodic_expiration+0x4d/0x80 [kvm] ... СРП: 0018:ff4f88f5d98d8ef0 ФАГОВ: 00000046 RAX: ff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc RDX: 00000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500 РУБП: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0 Р10: 0122д794016332b3 R11: 00000000000000 R12: ff440db1af39cfc0 R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8 ФС: 00007f04a6ffd700(0000) GS:ff440db1af380000 (0000) knlGS:000000e38a3b8000 КСС: 0010 ДС: 0000 ЭС: 0000 КР0: 00000080050033 CR2: 000000d5651ffeff8 CR3: 000000684e038002 CR4: 0000000000773ee0 PKRU: 5555554 Трейс по вызову: <IRQ> apic_timer_fn+0x31/0x50 [kvm] __hrtimer_run_queues+0x100/0x280 hrtimer_interrupt+0x100/0x210 ? ttwu_do_wakeup+0x19/0x160 smp_apic_timer_interrupt+0x6a/0x130 apic_timer_interrupt+0xf/0x20 </IRQ> Более того, если приостановка длительности виртуальной машины недостаточно долго чтобы вызвать жесткий замок в этом сценарии, так как совершите 98c25ead5eda («KVM: VMX: Переместить упреждающий таймер <=> hrtimer dance to common x86»), KVM будет продолжать использовать таймер программного обеспечения до тех пор, пока гость не перепрограммирует APIC таймер в некотором смысле. Так как периодический таймер не требует частого APIC таймер регистр программирования, гость может продолжать использовать программное обеспечение таймер в ---усеченный---

Теги · CWE
CWE-667
CAPEC-25
CAPEC-26
CAPEC-27
Затронутые продукты
LinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinux-5.10Linux-6.1Linux-allwinner-5.19Linux-awsLinux-awsLinux-awsLinux-awsLinux-awsLinux-awsLinux-awsLinux-aws
Вектор CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Хронология
2025-01-01
Опубликована
2025-01-01
Обновлена
Разбор CVSS 3.1
Вектор атаки
AV: L
Локальная (L)
Сложность атаки
AC: L
Низкая (L)
Требуемые привилегии
PR: L
Низкие (L)
Взаимодействие с пользователем
UI: N
Отсутствует (N)
Область воздействия
S: U
Неизменная (U)
Воздействие на конфиденциальность
C: N
Отсутствует (N)
Воздействие на целостность
I: N
Отсутствует (N)
Воздействие на доступность
A: H
Высокое (H)
Индикаторы эксплуатации
EPSS
0.001 · p0
Известна эксплуатация (KEV)
Нет
MITRE ATT&CK
Выводимые через CAPEC
Проверки Сканер-ВС
Проверок Сканер-ВС для этой уязвимости в базе пока нет.
Затронутые продукты
ПродуктВендорСтатус
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linuxОтслеживается
linux-5.10Отслеживается
linux-6.1Отслеживается
linux-allwinner-5.19Отслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
linux-awsОтслеживается
Показаны первые 20 из 329