Bug 2400817 (CVE-2023-53515) - CVE-2023-53515 kernel: virtio-mmio: don't break lifecycle of vm_dev
Summary: CVE-2023-53515 kernel: virtio-mmio: don't break lifecycle of vm_dev
Keywords:
Status: NEW
Alias: CVE-2023-53515
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-10-01 12:09 UTC by OSIDB Bzimport
Modified: 2026-06-29 18:48 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-10-01 12:09:01 UTC
In the Linux kernel, the following vulnerability has been resolved:

virtio-mmio: don't break lifecycle of vm_dev

vm_dev has a separate lifecycle because it has a 'struct device'
embedded. Thus, having a release callback for it is correct.

Allocating the vm_dev struct with devres totally breaks this protection,
though. Instead of waiting for the vm_dev release callback, the memory
is freed when the platform_device is removed. Resulting in a
use-after-free when finally the callback is to be called.

To easily see the problem, compile the kernel with
CONFIG_DEBUG_KOBJECT_RELEASE and unbind with sysfs.

The fix is easy, don't use devres in this case.

Found during my research about object lifetime problems.

Comment 1 Jon Moroney 2025-10-01 17:49:21 UTC Comment hidden (spam)

Note You need to log in before you can comment on or make changes to this bug.