HIGH 7.8

CVE-2026-53024: Linux Greybus Use-After-Free Kernel Panic Vulnerability

A use-after-free vulnerability exists in the Linux kernel's Greybus raw character device driver. If a user writes data to the device after it has been disconnected, the kernel attempts to use memory that has already been freed, causing a kernel panic. The issue stems from improper synchronization between the write operation and the disconnect handler—disconnect destroys the connection object while a concurrent write may still be trying to access it.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses (CWE)
CWE-416
Affected products
1 configuration(s)
Published / Modified
2026-06-24 / 2026-07-15

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: greybus: raw: fix use-after-free if write is called after disconnect If a user writes to the chardev after disconnect has been called, the kernel panics with the following trace (with CONFIG_INIT_ON_FREE_DEFAULT_ON=y): BUG: kernel NULL pointer dereference, address: 0000000000000218 ... Call Trace: <TASK> gb_operation_create_common+0x61/0x180 gb_operation_create_flags+0x28/0xa0 gb_operation_sync_timeout+0x6f/0x100 raw_write+0x7b/0xc7 [gb_raw] vfs_write+0xcf/0x420 ? task_mm_cid_work+0x136/0x220 ksys_write+0x63/0xe0 do_syscall_64+0xa4/0x290 entry_SYSCALL_64_after_hwframe+0x77/0x7f Disconnect calls gb_connection_destroy, which ends up freeing the connection object. When gb_operation_sync is called in the write file operations, its gets a freed connection as parameter and the kernel panics. The gb_connection_destroy cannot be moved out of the disconnect function, as the Greybus subsystem expect all connections belonging to a bundle to be destroyed when disconnect returns. To prevent this bug, use a rw lock to synchronize access between write and disconnect. This guarantees that the write function doesn't try to use a disconnected connection.

2 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-53024 is a use-after-free (CWE-416) flaw in the Greybus subsystem's raw driver (gb_raw). The vulnerability occurs because the disconnect function calls gb_connection_destroy, which frees the connection object, while the write file operation (raw_write) may simultaneously invoke gb_operation_sync with that now-freed connection pointer. This leads to a NULL pointer dereference or memory corruption when gb_operation_create_common attempts to access fields within the freed connection structure. The kernel panic manifests with CONFIG_INIT_ON_FREE_DEFAULT_ON enabled, though the underlying race condition exists regardless. The fix introduces a read-write lock to serialize access: write operations acquire a read lock, disconnect acquires a write lock, ensuring write cannot proceed during or after disconnection.

Business impact

For Linux distributions and embedded systems using Greybus (primarily used in mobile and IoT devices with modular hardware), this vulnerability permits a local, unprivileged user to trigger a kernel panic and cause denial of service. The attack requires only write access to the character device, a capability typically available to unprivileged users on systems where the device is exposed. This can interrupt critical services, cause data loss from unclean shutdown, and potentially be chained with other vulnerabilities for privilege escalation. Organizations deploying Greybus-based hardware should evaluate the operational impact of kernel crashes on their infrastructure.

Affected systems

The Linux kernel is affected, specifically builds that include the Greybus raw driver module (gb_raw). Vulnerability manifestation requires: (1) the Greybus subsystem to be compiled into or loaded as a module, (2) a Greybus device or bundle that exposes a raw character device, and (3) a local user with permission to write to that device node. Typical environments include Linux phones, tablets, modular hardware platforms, and embedded systems using Greybus for device communication. Desktop and server distributions may have Greybus disabled by default, reducing exposure.

Exploitability

Exploitability is straightforward from a technical perspective: triggering the vulnerability requires only a write() system call to the character device after disconnect occurs. However, real-world exploitation difficulty depends on whether the Greybus subsystem and raw driver are enabled and whether the target device node has permissive ownership or group membership. The CVSS 3.1 score of 7.8 (HIGH) reflects local access requirement (AV:L), low attack complexity (AC:L), and low privilege requirement (PR:L), with high impact across confidentiality, integrity, and availability. The vulnerability is not tracked as actively exploited (KEV status: not listed), but local DoS vulns in ubiquitous kernel subsystems typically see proof-of-concept development rapidly.

Remediation

A kernel patch has been released that adds read-write lock synchronization between the write path and disconnect path. The lock ensures that ongoing write operations complete before connection destruction, and new write attempts are rejected or blocked during disconnect. To remediate, apply the kernel patch or update to a patched kernel version released after 2026-07-15 (the last modification date). Verify against the vendor (kernel.org) advisory and your distribution's security advisories for specific patched versions. Until patched, restrict write access to the raw character device to trusted users only.

Patch guidance

Obtain the patched Linux kernel from your distribution's security update channel or from kernel.org. The vulnerability was resolved in the mainline kernel; stable and LTS branches will receive backports. When patching, ensure you are updating to a kernel version released on or after the modification date (2026-07-15) and verify the patch commit addresses the rw lock mechanism in the Greybus raw driver. Test patches in a non-production environment first, as kernel updates require rebooting. If you maintain a custom kernel, apply the upstream patch directly to the affected gb_raw module source.

Detection guidance

Detection at runtime is challenging because the vulnerability manifests as a kernel panic, which generates a crash dump. Monitor kernel logs (dmesg, journalctl) for NULL pointer dereference panics originating from gb_operation_create_common or raw_write. Correlate timing of crash logs with write operations to the Greybus raw device node (typically /dev/gball* or similar). Inspect audit logs for patterns of repeated writes to device nodes followed by system resets. On systems with kdump or kexec configured, kernel crash dumps will provide stack traces for forensic analysis. Proactive detection via static analysis (e.g., checking kernel module compile flags) can identify systems with Greybus enabled.

Why prioritize this

Prioritize patching systems where: (1) Greybus is enabled in the kernel and the raw driver is active, (2) the raw character device is writable by unprivileged users, and (3) system availability is critical (e.g., embedded controllers, always-on devices). The HIGH CVSS score and ease of triggering a local denial of service warrant swift remediation. However, systems where Greybus is disabled or the raw device is not exposed can deprioritize this patch relative to remote code execution vulnerabilities. Embedded Linux systems and mobile devices should treat this as moderate-to-high priority; traditional server and desktop Linux deployments may have lower risk if Greybus is not in use.

Risk score, explained

The CVSS 3.1 score of 7.8 (HIGH) reflects: Attack Vector Local (AV:L) — requires local system access; Attack Complexity Low (AC:L) — no special conditions or timing required beyond a write() call; Privileges Required Low (PR:L) — non-root user with device write permission suffices; User Interaction None (UI:N) — attack is purely programmatic; Scope Unchanged (S:U) — impact limited to the system itself; Confidentiality High, Integrity High, Availability High (C:H/I:H/A:H) — kernel panic can leak memory, corrupt state, and crash the system. The score appropriately penalizes a local DoS with potential for memory disclosure and system instability, though the lack of remote exploitability prevents a critical rating.

Frequently asked questions

Can this vulnerability be exploited remotely?

No. The vulnerability requires local system access and the ability to write to a Greybus raw character device. It cannot be triggered over the network. Remote attackers would first need to achieve local code execution through another vulnerability.

Do all Linux systems need to apply this patch?

No. Only systems with Greybus compiled into the kernel or loaded as a module, and specifically with the raw driver enabled, are affected. Many desktop and server Linux distributions do not enable Greybus by default. Check your kernel configuration (cat /boot/config-* | grep CONFIG_GREYBUS) to determine if you are affected.

What happens if I don't patch this before a user writes to the raw device?

If a write occurs after the Greybus device disconnects, the kernel will panic with a NULL pointer dereference or memory corruption fault, immediately crashing the system. There is no graceful failure or error message—the kernel terminates abruptly, causing data loss and service interruption.

Is there a workaround if I cannot patch immediately?

Restricting write permissions on the Greybus raw device node (e.g., chmod 600 /dev/gball* or using udev rules) to trusted users only can reduce exposure. However, this does not eliminate the vulnerability if a privileged or device-owning process can trigger it. Patching is the definitive fix.

This analysis is provided for informational purposes to aid vulnerability assessment and patch management. It does not constitute legal or professional security advice. Organizations should verify all technical details, patch applicability, and version information against official Linux kernel advisories and their distribution's security bulletins before deploying patches. SEC.co makes no warranty regarding the accuracy, completeness, or timeliness of this information. Actual risk and remediation timelines vary by environment and should be evaluated by qualified security and systems personnel. Proof-of-concept code, exploit automation, or weaponized tools are not provided and should not be developed for unauthorized testing. Source: NVD (public-domain), retrieved 2026-07-31. Analysis generated by SEC.co (claude-haiku-4-5).