Linux Kernel bis 7.1.7/7.2-rc5 vgic vgic_release_lpi_locked Pufferüberlauf

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
9.5$5k-$25k0.58

Zusammenfassunginfo

Es wurde eine Schwachstelle in Linux Kernel bis 7.1.7/7.2-rc5 gefunden. Sie wurde als sehr kritisch eingestuft. Es ist betroffen die Funktion vgic_release_lpi_locked der Komponente vgic. Mittels Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Diese Schwachstelle wird als CVE-2026-74568 gehandelt. Es ist möglich, den Angriff aus der Ferne durchzuführen. Es ist kein Exploit verfügbar.

Detailsinfo

Es wurde eine Schwachstelle in Linux Kernel bis 7.1.7/7.2-rc5 ausgemacht. Sie wurde als sehr kritisch eingestuft. Es betrifft die Funktion vgic_release_lpi_locked der Komponente vgic. Dank der Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-416 vorgenommen. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic: Fix race between LPI release and re-registration Fix a potential race between decrementing an LPI's reference count and evicting that structure from the LPI xarray. LPI structures are maintained in the VGIC LPI xarray (dist->lpi_xa). When the reference count of an LPI structure drops to zero, vgic_release_lpi_locked() removes the structure from the xarray and frees it under the xarray lock. However, the release of an LPI can race with a concurrent LPI re-registration with the same INTID via vgic_add_lpi() on another CPU, since the reference count drop and the xarray eviction are not performed in a single atomic step. This can happen e.g. if the guest issues a DISCARD while the LPI is still referenced from a vCPU's active-pending list (ap_list), and the same INTID is re-mapped via MAPTI. Particularly, vgic_release_lpi_locked() is called from two distinct paths: direct release via vgic_put_irq(), and deferred release via vgic_release_deleted_lpis(). During direct release, the issue can result in deleting a newly registered LPI from the xarray: CPU0 (Releasing LPI) CPU1 (Adding new LPI) ==================== ===================== vgic_put_irq() __vgic_put_irq() refcount_dec_and_test() vgic_add_lpi() xa_lock_irqsave() old_irq = xa_load(.., intid) vgic_try_get_irq_ref(old_irq) == false new IRQ inserted --> __xa_store(.., intid, ..) xa_unlock_irqrestore() xa_lock_irqsave(); vgic_release_lpi_locked() __xa_erase(.., irq->intid) <-- BUG: new IRQ is erased kfree_rcu(old_irq) During the deferred release path, the old IRQ can be leaked: CPU0 (Releasing LPI) CPU1 (Adding new LPI) ==================== ===================== vgic_put_irq_norelease() __vgic_put_irq() refcount_dec_and_test() irq->pending_release = true vgic_add_lpi() xa_lock_irqsave() old_irq = xa_load(.., intid) vgic_try_get_irq_ref(oldirq) == false BUG: old IRQ overwritten --> __xa_store(.., intid, ..) xa_unlock_irqrestore() vgic_release_deleted_lpis() xa_lock_irqsave() xa_for_each() { .. } <-- old IRQ with pending_release = true is gone, so it cannot be released To fix the direct release path, move the reference count drop inside the xarray lock, making sure that vgic_add_lpi() never encounters the to-be-released LPI. In the deferred release path, the refcount drop must happen under a raw spinlock, so the xarray lock cannot be grabbed, and the same solution does not work. Instead, update vgic_add_lpi(), so that if it evicts an LPI from the xarray, it takes on the responsibility of freeing it. Consequently, an LPI may now be freed concurrently after a deferred release drops the refcount, so accessing the pending_release field is no longer safe from use-after-free. Delete all uses of the flag, and update vgic_release_deleted_lpis() to identify orphaned LPIs purely based on their refcount.

Bereitgestellt wird das Advisory unter git.kernel.org. Die Identifikation der Schwachstelle wird seit dem 15.08.2026 mit CVE-2026-74568 vorgenommen. Die Ausnutzbarkeit gilt als leicht. Der Angriff kann über das Netzwerk erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Ein Exploit zur Schwachstelle wird momentan etwa USD $5k-$25k kosten (Preisberechnung vom 16.08.2026).

Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 335881 (Linux Distros Unpatched Vulnerability : CVE-2026-74568) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.

Ein Aktualisieren auf die Version 7.1.8 oder 7.2-rc6 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 292e80a159aa88635bf668a7212cfdf526b8bd52/cbfe2b24a1ea9de35032dbdd100fdc700f5be92d lösen.

Unter anderem wird der Fehler auch in den Datenbanken von Tenable (335881) und EUVD (EUVD-2026-59633) dokumentiert. If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 9.9
VulDB Meta Temp Score: 9.5

VulDB Base Score: 9.9
VulDB Temp Score: 9.5
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Pufferüberlauf
CWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔒
Status: Nicht definiert

EPSS Score: 🔒
EPSS Percentile: 🔒

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 335881
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2026-74568

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 7.1.8/7.2-rc6
Patch: 292e80a159aa88635bf668a7212cfdf526b8bd52/cbfe2b24a1ea9de35032dbdd100fdc700f5be92d

Timelineinfo

15.08.2026 Advisory veröffentlicht
15.08.2026 +0 Tage CVE zugewiesen
15.08.2026 +0 Tage VulDB Eintrag erstellt
16.08.2026 +1 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Hersteller: kernel.org

Advisory: git.kernel.org
Status: Bestätigt

CVE: CVE-2026-74568 (🔒)
GCVE (CVE): GCVE-0-2026-74568
GCVE (VulDB): GCVE-100-390885
EUVD: 🔒

Eintraginfo

Erstellt: 15.08.2026 16:00
Aktualisierung: 16.08.2026 04:24
Anpassungen: 15.08.2026 16:00 (59), 15.08.2026 21:37 (1), 16.08.2026 04:24 (2)
Komplett: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Might our Artificial Intelligence support you?

Check our Alexa App!