CVE-2023-53515
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-10-01

Last updated on: 2026-04-06

Assigner: kernel.org

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-10-01
Last Modified
2026-04-06
Generated
2026-05-07
AI Q&A
2025-10-01
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel From 5.15.160 (inc) to 5.16 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability in the Linux kernel's virtio-mmio component involves improper management of the lifecycle of the vm_dev structure. The vm_dev has its own lifecycle because it contains an embedded 'struct device' and requires a release callback to manage its memory correctly. However, the vulnerability arises because vm_dev was allocated using devres, which causes its memory to be freed prematurely when the platform_device is removed, instead of waiting for the vm_dev release callback. This leads to a use-after-free condition when the callback is eventually called.


How can this vulnerability impact me? :

This vulnerability can lead to a use-after-free condition in the Linux kernel, which may cause system instability, crashes, or potentially allow an attacker to execute arbitrary code or escalate privileges by exploiting the freed memory.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by compiling the Linux kernel with the CONFIG_DEBUG_KOBJECT_RELEASE option enabled and then unbinding the device using sysfs to observe the use-after-free behavior.


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation is to apply the fix which avoids using devres for vm_dev and ensures the vm_dev release callback lifecycle is correctly handled. This involves updating the kernel to a version where this issue is resolved.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart