Skip to main content
← All vulnerabilities
CVE-2026-53025

greybus: raw: fix use-after-free on cdev close

Affects the Linux kernel greybus raw driver when a bundle is disconnected while its chardev is open. Fixed in stable releases 6.6.160, 6.12.114, 6.18.57 and 7.0.10.

Published
Last modified
published
Not listed in CISA KEV
Specific setups only
Fix
Fixed in 6.6.160, 6.12.114, 6.18.57, 7.0.10
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: greybus: raw: fix use-after-free on cdev close This addresses a use-after-free bug when a raw bundle is disconnected but its chardev is still opened by an application. When the application releases the cdev, it causes the following panic when init on free is enabled (CONFIG_INIT_ON_FREE_DEFAULT_ON=y): refcount_t: underflow; use-after-free. WARNING: CPU: 0 PID: 139 at lib/refcount.c:28 refcount_warn_saturate+0xd0/0x130 ... Call Trace: <TASK> cdev_put+0x18/0x30 __fput+0x255/0x2a0 __x64_sys_close+0x3d/0x80 do_syscall_64+0xa4/0x290 entry_SYSCALL_64_after_hwframe+0x77/0x7f The cdev is contained in the "gb_raw" structure, which is freed in the disconnect operation. When the cdev is released at a later time, cdev_put gets an address that points to freed memory. To fix this use-after-free, convert the struct device from a pointer to being embedded, that makes the lifetime of the cdev and of this device the same. Then, use cdev_device_add, which guarantees that the device won't be released until all references to the cdev have been released. Finally, delegate the freeing of the structure to the device release function, instead of freeing immediately in the disconnect callback.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    Version range not reported

  • Linux Linux

    4.9

  • KernelLinux

    From 4.9.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.57; From 6.19.0 · fixed in 7.0.10

References 6

git.kernel.org

FAQ

Questions about CVE-2026-53025

What does this mean?

When a raw greybus bundle is disconnected while an application still has its character device open, the driver frees a structure that is still in use. Closing the device later touches that freed memory, which can underflow a reference count and cause a kernel panic.Source: git.kernel.org

Am I affected, and how do I check?

Affected kernel ranges are 4.9.0 up to 6.6.160, 6.7.0 up to 6.12.114, 6.13.0 up to 6.18.57, and 6.19.0 up to 7.0.10. The setup also needs the greybus raw driver in use and init-on-free enabled (CONFIG_INIT_ON_FREE_DEFAULT_ON=y). Check the running version with uname -r and the kernel config for that option.Source: git.kernel.org

What should I do about it?

Update to the fixed stable release for your branch: 6.6.160, 6.12.114, 6.18.57, or 7.0.10 or later. The advisory lists no separate workaround.Source: git.kernel.org

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data