Description
In the Linux kernel, the following vulnerability has been resolved:

drm/vc4: Use managed KMS polling to fix UAF on unbind

vc4_kms_load() calls drm_kms_helper_poll_init() but the driver provides
no matching drm_kms_helper_poll_fini(). The output poll work stays
scheduled after unbind and runs on the freed drm_device:

# modprobe vc4; rmmod vc4; sleep 10
BUG: KASAN: slab-use-after-free in delayed_work_timer_fn
BUG: KASAN: slab-use-after-free in drm_client_dev_hotplug [drm]
Workqueue: events output_poll_execute [drm_kms_helper]
Allocated by task 171: __devm_drm_dev_alloc
Freed by task 262 (rmmod): drm_dev_put / component_del

Use drmm_kms_helper_poll_init() so polling is finalized with the device,
as other drivers do.
Published: 2026-10-06
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Use After Free potentially leading to arbitrary code execution
Action: Apply Patch
AI Analysis

Impact

The vulnerability resides in the Linux kernel interface for the VC4 DRM driver and arises from an improper cleanup of kernel‑mode setting (KMS) polling during module unbind. The driver calls drm_kms_helper_poll_init() but never calls the corresponding drm_kms_helper_poll_fini(), leaving a scheduled poll work item that continues to run after the device is freed. When the module is unloaded, the delayed work executes on a freed drm_device, triggering a use‑after‑free error that can be exploited to execute arbitrary code with kernel privileges.

Affected Systems

Any Linux kernel installation that includes the vc4 DRM driver (typically those that support Broadcom VideoCore GPUs) is affected. The vulnerability applies to all kernel versions that compile the vc4 module without the recent patch, so systems with older kernels or custom builds that lack the corresponding commit are at risk.

Risk and Exploitability

The flaw is a classic use‑after‑free (CWE‑825) with moderate impact (CVSS 5.5), capable of privilege escalation to kernel mode and potentially remote code execution if an attacker controls module loading. An EPSS score of < 1% indicates a low probability of exploitation, and the issue is not listed in CISA KEV, but the absence of administrative oversight and the local nature of the exploitation vector still make it a high‑severity risk for systems that rely on the vc4 driver. The required conditions—loading and unloading the module while a delayed work queue remains active—are achievable by a local attacker with freedom to manage kernel modules, making the attack feasible in many realistic scenarios.

Generated by OpenCVE AI on October 11, 2026 at 17:27 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that incorporates the recent fix for the VC4 use‑after‑free bug.
  • If upgrading is not immediately possible, blacklist or unload the vc4 DRM module to prevent the faulty polling code from executing.
  • Reboot after the upgrade or module removal to clear any pending work queues that might reference freed objects.

Generated by OpenCVE AI on October 11, 2026 at 17:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Sun, 11 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 11 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Tue, 06 Oct 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/vc4: Use managed KMS polling to fix UAF on unbind vc4_kms_load() calls drm_kms_helper_poll_init() but the driver provides no matching drm_kms_helper_poll_fini(). The output poll work stays scheduled after unbind and runs on the freed drm_device: # modprobe vc4; rmmod vc4; sleep 10 BUG: KASAN: slab-use-after-free in delayed_work_timer_fn BUG: KASAN: slab-use-after-free in drm_client_dev_hotplug [drm] Workqueue: events output_poll_execute [drm_kms_helper] Allocated by task 171: __devm_drm_dev_alloc Freed by task 262 (rmmod): drm_dev_put / component_del Use drmm_kms_helper_poll_init() so polling is finalized with the device, as other drivers do.
Title drm/vc4: Use managed KMS polling to fix UAF on unbind
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:17:19.914Z

Reserved: 2026-09-25T10:25:14.338Z

Link: CVE-2026-98309

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:22.300

Modified: 2026-10-19T10:18:32.947

Link: CVE-2026-98309

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T00:00:00Z

Links: CVE-2026-98309 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-11T17:30:17Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference