Skip to main content
VulnerabilityPublished Updated

CVE-2026-90129: Linux kernel · virtio_balloon: quiesce balloon work before device shutdown

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · fixed in bdef50a8226fc04899ef6815dd08a002247d47d5 : update Linux kernel when convenient.

Data as of 26 Oct 2026, 13:47 UTC

Severity
Unrated

Rated by Threat Radar · CVSS not yet scored by NVD

EPSS
0.2% chance of exploitation in 30 days – higher than 10% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in bdef50a8226fc04899ef6815dd08a002247d47d5, 7e17eef04600c399c7e0f5ce765da5cf9d40d8e1, 6dd28e32f4d81a0d57c732b9900de24184e60a7d +3

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 17 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • >=6.6.160 <6.7
  • >=6.12.114 <6.13
  • >=6.14.9 <6.15
Fixed in
  • bdef50a8226fc04899ef6815dd08a002247d47d5
  • 7e17eef04600c399c7e0f5ce765da5cf9d40d8e1
  • 6dd28e32f4d81a0d57c732b9900de24184e60a7d
  • 6.15
  • 6.13
  • 6.7
LinuxLinuxAffected
  • =6.15
Fixed in–

Description

In the Linux kernel, the following vulnerability has been resolved: virtio_balloon: quiesce balloon work before device shutdown Commit 8bd2fa086a04 ("virtio: break and reset virtio devices on device_shutdown()") added a generic virtio bus .shutdown handler that breaks and resets every virtio device during device_shutdown(), i.e. on reboot and kexec. virtio_balloon provides no .shutdown of its own, so that generic path runs while the balloon's asynchronous work is still armed. Once the device has been broken, virtqueue_add_inbuf() in virtballoon_free_page_report() returns -EIO and trips its WARN_ON_ONCE(). On a kernel booted with panic_on_warn that turns an ordinary reboot, for example a kexec based upgrade, into a fatal panic in the middle of device_shutdown(), so the machine never reaches the new kernel. Relaxing that single WARN_ON_ONCE() would only hide the symptom: the inflate/deflate and OOM paths do not warn, they call wait_event(vb->acked, ...) and would instead block forever on a broken queue that can no longer complete. The device has to be quiesced, not just kept quiet. Add a .shutdown handler that quiesces the balloon via the shared virtballoon_quiesce() helper while the device is still alive, and only then breaks and resets it via virtio_device_shutdown(). Unlike virtballoon_remove() the balloon workqueue is not destroyed, as shutdown does not free the device and cancel_work_sync() together with stop_update already prevent any further work from being queued.

References

Community reviews

Loading reviews…