CVE-2026-89913
Last modified
CVE-2026-89913 is a high-severity vulnerability rated 8.8/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic-v3: take an LPI reference in vgic_v3_save_pending_tables vgic_v3_save_pending_tables() iterates dist->lpi_xa using xa_for_each() and dereferences the returned struct vgic_irq in the loop body without holding a reference on the LPI. The xarray iterator only provides temporary RCU coverage while looking up the current entry. That is not sufficient for this loop body, which reads fields from struct vgic_irq and performs guest memory accesses before the iteration completes. A concurrent path can trigger this race: the irqfd cached injection path (vgic_its_inject_cached_translation) obtains a transient LPI reference via vgic_its_check_cache() without holding kvm->lock, vcpu->mutex, config_lock, or its_lock.
Description
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic-v3: take an LPI reference in vgic_v3_save_pending_tables vgic_v3_save_pending_tables() iterates dist->lpi_xa using xa_for_each() and dereferences the returned struct vgic_irq in the loop body without holding a reference on the LPI. The xarray iterator only provides temporary RCU coverage while looking up the current entry. That is not sufficient for this loop body, which reads fields from struct vgic_irq and performs guest memory accesses before the iteration completes. A concurrent path can trigger this race: the irqfd cached injection path (vgic_its_inject_cached_translation) obtains a transient LPI reference via vgic_its_check_cache() without holding kvm->lock, vcpu->mutex, config_lock, or its_lock. If guest ITS DISCARD then drops the cache and ITE references under its_lock, the transient inject reference may become the final one. When vgic_put_irq() drops it, the LPI is erased from lpi_xa and freed via kfree_rcu(). Meanwhile, vgic_v3_save_pending_tables() may still hold a stale pointer obtained from the xarray iterator and dereference it after the RCU grace period completes. Fix this by re-fetching each iterated LPI via vgic_get_irq(), which takes a stable reference, and dropping it with vgic_put_irq() on all paths. This matches the pattern already used by other lpi_xa iterators in the vgic ITS code.
Metrics
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 280771252c1bae0947215c59fb9ea6a8d9f8399d, < 7631f95297560157d3a9283cb999e3be00103348; >= 280771252c1bae0947215c59fb9ea6a8d9f8399d, < d3a2d20b7248ea67465af1cf79c79f90ff70926c; >= 280771252c1bae0947215c59fb9ea6a8d9f8399d, < f5b8f203bfc07a5a257dff859e66d2c500f9f509 |
| Linux | Linux | 4.12 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-89913?
How severe is CVE-2026-89913?
How do I fix CVE-2026-89913?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-89908In the Linux kernel, the following vulnerability has been re…8.8
- CVE-2026-89909In the Linux kernel, the following vulnerability has been re…
- CVE-2026-8991The Drag and Drop Multiple File Upload for Contact Form 7 pl…4.4
- CVE-2026-89910In the Linux kernel, the following vulnerability has been re…7.3
- CVE-2026-89911In the Linux kernel, the following vulnerability has been re…7.9
- CVE-2026-89912In the Linux kernel, the following vulnerability has been re…7.1
- CVE-2026-89914In the Linux kernel, the following vulnerability has been re…9.3
- CVE-2026-89915In the Linux kernel, the following vulnerability has been re…9.3
- CVE-2026-89916In the Linux kernel, the following vulnerability has been re…9.3
- CVE-2026-89917In the Linux kernel, the following vulnerability has been re…
- CVE-2026-89918In the Linux kernel, the following vulnerability has been re…9.3
- CVE-2026-89919In the Linux kernel, the following vulnerability has been re…7.8
Are you affected by CVE-2026-89913?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
