CVE-2023-53515
HIGH EPSS 3.6%
Published Oct 1, 20259mo ago · Modified Jun 17, 20261w ago
7.8 CVSS 3.1
Published Oct 1, 2025 9mo ago
Last Modified Jun 17, 2026 1w ago
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 Details
Base Score
Exploitability
Impact
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High
Threat Intelligence
EPSS Exploit Probability
3.6% percentile
Exploit & Patch Status
No Known Exploit
Patch Available
Weaknesses 1
CWE-416 Use After Free Memory Safety
Affected Products 20
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥4.15.1 – <4.19.293 |
| linux | linux_kernel | * | ≥4.20 – <5.4.255 |
| linux | linux_kernel | * | ≥5.5 – <5.10.192 |
| linux | linux_kernel | * | ≥5.11 – <5.15.128 |
| linux | linux_kernel | * | ≥5.16 – <6.1.47 |
| linux | linux_kernel | * | ≥6.2 – <6.4.12 |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 4.15 | any |
| linux | linux_kernel | 6.5 | any |
| linux | linux_kernel | 6.5 | any |
| linux | linux_kernel | 6.5 | any |
| linux | linux_kernel | 6.5 | any |
| linux | linux_kernel | 6.5 | any |
| linux | linux_kernel | 6.5 | any |
References 7
- git.kernel.org https://git.kernel.org/stable/c/2dcb368fe5a8eee498ca75c93a18ce2f3b0d6a8e
- git.kernel.org https://git.kernel.org/stable/c/3ff54d904fafabd0912796785e53cce4e69ca123
- git.kernel.org https://git.kernel.org/stable/c/55c91fedd03d7b9cf0c5199b2eb12b9b8e95281a
- git.kernel.org https://git.kernel.org/stable/c/5b7d5c2dd664eb8b9a06ecbc06e28d39359c422e
- git.kernel.org https://git.kernel.org/stable/c/97a2d55ead76358245b446efd87818e919196d7a
- git.kernel.org https://git.kernel.org/stable/c/af5818c35173e096085c6ae2e3aac605d3d15e41
- git.kernel.org https://git.kernel.org/stable/c/b788ad3b2468512339c05f23692e36860264e674
Remediation
- git.kernel.org https://git.kernel.org/stable/c/2dcb368fe5a8eee498ca75c93a18ce2f3b0d6a8e
- git.kernel.org https://git.kernel.org/stable/c/3ff54d904fafabd0912796785e53cce4e69ca123
- git.kernel.org https://git.kernel.org/stable/c/55c91fedd03d7b9cf0c5199b2eb12b9b8e95281a
- git.kernel.org https://git.kernel.org/stable/c/5b7d5c2dd664eb8b9a06ecbc06e28d39359c422e
- git.kernel.org https://git.kernel.org/stable/c/97a2d55ead76358245b446efd87818e919196d7a
- git.kernel.org https://git.kernel.org/stable/c/af5818c35173e096085c6ae2e3aac605d3d15e41
- git.kernel.org https://git.kernel.org/stable/c/b788ad3b2468512339c05f23692e36860264e674