CVE-2023-53515: virtio-mmio: don't break lifecycle of vm_dev
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.
Security readout for executives and security teams
Plain-English summary
CVE-2023-53515 is a Linux kernel memory lifecycle bug in virtio-mmio. A device structure can be freed too early, then used later during release handling. The public record does not provide CVSS, confirmed exploitation, or a complete impact statement, so urgency depends on whether affected kernels and virtio-mmio are in use.
Executive priority
Treat as a kernel maintenance priority with uncertain severity. Escalate for virtualization, embedded, or appliance environments where virtio-mmio is used. There is no provided evidence of active exploitation, but kernel use-after-free bugs can become serious if reachable by lower-privileged users or tenants.
Technical view
The virtio-mmio driver allocated vm_dev with devres even though vm_dev embeds struct device and has its own release callback. Platform device removal can free vm_dev before the later release callback runs, causing a use-after-free. The upstream fix is to avoid devres for this object lifecycle.
Likely exposure
Relevant exposure is Linux systems running affected kernel versions with virtio-mmio support and device removal or teardown paths reachable. The bundle lists affected Linux versions including 4.15, 4.19.293, 5.4.255, 5.10.192, 5.15.128, 6.1.47, 6.4.12, and 6.5.
Exploitation context
The source bundle does not cite active exploitation, public exploit availability, or KEV listing. The issue was found during research into object lifetime problems. The description notes the bug can be observed with debug kobject release behavior and sysfs unbind, but provides no real-world attack evidence.
Researcher notes
Focus validation on object lifetime around virtio-mmio platform device removal. The core issue is devres-managed allocation conflicting with vm_dev release semantics. Avoid assuming privilege boundary impact without local configuration and reachability analysis.
Mitigation direction
Apply vendor Linux kernel updates that include the referenced stable fixes.
Prioritize systems using virtio-mmio or allowing device management operations.
If no vendor package is available, review the linked stable commits with kernel maintainers.
Restrict unnecessary access to device bind, unbind, or platform-device management interfaces.
Validation and detection
Inventory kernel versions across affected Linux fleets.
Check whether virtio-mmio is enabled or loaded on those systems.
Confirm installed kernel packages include a referenced stable fix or vendor backport.
Review operational access to device lifecycle controls on affected hosts.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-53515 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
8Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Oct 1, 2025, 11:46 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.