CVE-2025-71104

Linux kernel (Azure) vulnerabilities

Beschreibung

Im Linux-Kernel wurde folgende Schwachstelle behoben: KVM: x86: Behebung von VM-Hartblockaden nach langer Inaktivität mit periodischem HV-Timer Beim Fortschreiten des Zielablaufs für den APIC-Timer des Gasts im periodischen Modus wird das Ablaufdatum auf "jetzt" gesetzt, wenn das Zielablaufdatum in der Vergangenheit liegt (ähnlich wie bei update_target_expiration()). Das blinde Hinzufügen der Periode zum vorherigen Zielablaufdatum kann dazu führen, dass KVM eine praktisch unbegrenzte Anzahl von hrtimer IRQs generiert, indem ein abgelaufener Timer immer wieder programmiert wird. In extremen Szenarien, z.B. wenn der Benutzerbereich einen VM für eine lange Dauer pausiert/suspendiert, kann dies sogar zu Hartblockaden im Host führen. Derzeit betrifft der Fehler nur Intel-CPUs bei Verwendung des Hypervisor-Timers (HV-Timer), auch bekannt als VMX-Vorabtaktung. Im Gegensatz zum Softwaretimer, d.h. hrtimer, den KVM auch bei Ausgängen in den Benutzerbereich weiterlaufen lässt, läuft der HV-Timer nur, wenn der Gast aktiv ist. Daher kann es, wenn die vCPU für eine lange Dauer nicht läuft, zu einer großen Lücke zwischen dem Zielablaufdatum und der aktuellen Zeit kommen, zu der die vCPU wieder ausgeführt wird. Da das Zielablaufdatum bei jedem Timerablauf nur um eine Periode erhöht wird, führt dies dazu, dass nach dem Wiederaufnehmen von vCPU/VM eine Serie von Timerabläufen schnell hintereinander erfolgt. Kritischer ist jedoch, wenn die vCPU zum ersten Mal einen periodischen HV-Timerablauf auslöst, nachdem sie wieder aufgenommen wurde, das Ablaufdatum nur um eine Periode vorzurücken, was zu einem Zielablaufdatum in der Vergangenheit führt. Dadurch kann der Delta-Wert als negativer Wert berechnet werden. Wenn der Delta-Wert in einen absoluten Wert umgewandelt wird (tscdeadline ist ein unsigned u64), kann das resultierende Wert den programmierbaren Bereich des HV-Timers überschreiten, d.h. der große Wert übersteigt die maximale Bitbreite des VMX-Vorabtakters von cpu_preemption_timer_multi + 32 und veranlasst KVM dazu, vom HV-Timer zum Softwaretimer (hrtimers) zu wechseln. Nach dem Wechsel zum Softwaretimer können periodische Timerablauf-Rückrufe nacheinander innerhalb eines einzelnen Interrupt-Handlers für den Takt erfolgen, da hrtimers die Anfrage von KVM nach einem Ablauf in der Vergangenheit respektiert und sofort den Rückruf von KVM erneut aufruft, nachdem er neu programmiert wurde. Da der Interrupt-Handler mit deaktivierten IRQs läuft, kann das wiederholte Neustarten des hrtimers von KVM bis zum Vorziehen des Zielablaufs auf "jetzt" zu einer Hartblockade führen. Zum Beispiel wurde folgende Hartblockade im Host ausgelöst, als ein Windows-VM (nur relevant, weil es den APIC-Timer im periodischen Modus verwendete) nach dem Aufwachen der VM von einem langen Suspendierungsmodus (im Host) ausgeführt wurde. NMI-Watchdog: Watchdog hat Hartblockade auf CPU 45 erkannt ... RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm] ... RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046 RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500 RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0 R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0 R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8 FS: 00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0 PKRU: 55555554 Aufrufverfolgung: <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> Darüber hinaus, wenn die Suspendierungsdauer der virtuellen Maschine nicht lang genug ist, um in diesem Szenario eine Hartblockade auszulösen, wird KVM seit dem Commit 98c25ead5eda ("KVM: VMX: Move preemption timer <=> hrtimer dance to common x86") weiterhin den Softwaretimer verwenden, bis der Gast den APIC-Timer auf irgendeine Weise neu programmiert. Da der periodische Timer keine häufige Programmierung des APIC-Timer-Registers erfordert, kann das Gastsystem weiterhin den Softwaretimer verwenden.

Metriken

Severity
medium
kein öffentlicher PoC bekannt
5.5
Quelle: nvd-v3
1.0 %
Niedrig — CVE gehört zu den unteren 10 % der heute bewerteten CVEs.
0.1 %
Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Veröffentlicht
2026-06-16 22:30 UTC

Betroffene Betriebssysteme

  • linux

    amazon / amazon_linux

  • linux

    ubuntu / awsbionic

  • linux

    ubuntu / awsjammy

  • linux

    ubuntu / awsnoble

  • linux

    ubuntu / awsresolute

  • linux

    ubuntu / awsxenial

  • linux

    ubuntu / aws-6.8jammy

  • linux

    ubuntu / aws-hwexenial

  • linux

    ubuntu / azurejammy

  • linux

    ubuntu / azurenoble

  • linux

    ubuntu / azureresolute

  • linux

    ubuntu / azurexenial

  • linux

    ubuntu / azure-4.15bionic

  • linux

    suse / basesystem_module15

  • linux

    debian / debian_linux11.0

  • linux

    debian / debian_linux12.0

  • linux

    debian / debian_linux13.0

  • linux

    suse / development_tools_module15

  • linux

    redhat / enterprise_linux10.0

  • linux

    redhat / enterprise_linux8.0

  • linux

    redhat / enterprise_linux9.0

  • linux

    redhat / enterprise_linux_aus8.4

  • linux

    redhat / enterprise_linux_aus8.6

  • linux

    redhat / enterprise_linux_eus10.0

Betroffene Produkte

Aus der Hersteller-/CERT-Meldung extrahierte Produkte und Versionsbereiche. Ein Version-Range wie „<4.14.6“ impliziert die Update-Empfehlung „auf 4.14.6 oder höher aktualisieren“.

  • arista

    cloudvision_agni2024.4.0 – 2025.2.2

  • arista

    cloudvision_portal2024.2.0 – 2026.1.0

  • arista

    velocloud_edge4.5.0 – 6.4.1

  • arista

    velocloud_gateway

  • arista

    velocloud_orchestrator

  • IBM

    QRadar SIEM<7.5.0 UP15 IF06

  • redhat

    openshift_container_platform4.12 – 4.12.89

  • redhat

    openshift_container_platform4.13 – 4.13.66

  • redhat

    openshift_container_platform4.14 – 4.14.65

  • redhat

    openshift_container_platform4.15 – 4.15.64

  • redhat

    openshift_container_platform4.16 – 4.16.61

  • redhat

    openshift_container_platform4.17 – 4.17.53

  • redhat

    openshift_container_platform4.18 – 4.18.40

  • redhat

    openshift_container_platform4.19 – 4.19.30

  • redhat

    openshift_container_platform4.20 – 4.20.21

  • redhat

    openshift_container_platform4.21 – 4.21.14

  • redhat

    openshift_container_platform

  • siemens

    simatic_ax_runtime

  • suse

    caas_platform

  • suse

    enterprise_storage

  • suse

    manager_proxy

  • suse

    manager_retail_branch_server

  • suse

    manager_server

  • suse

    openstack_cloud

Quellen & Referenzen

Verknüpfte CVEs

368 weitere CVEs anzeigen
IDCVE-2025-71104