CVE-2026-53385 in Linuxinfo

Summary

by MITRE • 07/19/2026

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

vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write

A KASAN null-ptr-deref was observed in vcs_notifier():

BUG: KASAN: null-ptr-deref in vcs_notifier+0x98/0x130 Read of size 2 at addr qmp_cmd_name: qmp_capabilities, arguments: {}

The issue is a race condition in vcs_write(). When the console_lock is temporarily dropped (to copy data from userspace), the vc_data pointer obtained from vcs_vc() may become stale. After re-acquiring the lock, vcs_vc() is called again to re-validate the pointer. If the vc has been deallocated in the meantime, vcs_vc() returns NULL, and the while loop breaks (with written > 0). However, after the loop, vcs_scr_updated(vc) is still called with the now-NULL vc pointer, leading to a null pointer dereference in the notifier chain (vcs_notifier dereferences param->vc).

Fix this by adding a NULL check for vc before calling vcs_scr_updated().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 07/19/2026

The vulnerability under discussion represents a critical race condition within the Linux kernel's virtual console subsystem that manifests as a null pointer dereference during concurrent write operations. This issue specifically affects the vcs_write() function which handles writes to virtual console screens, creating a scenario where multiple threads can simultaneously access and modify console data structures without proper synchronization guarantees.

The technical flaw stems from improper handling of the vc_data pointer within the vcs_write() function's execution flow. When processing console writes, the function temporarily releases the console_lock to perform user space memory copying operations, allowing other threads to execute and potentially modify the console state. During this window, the vc_data pointer obtained through vcs_vc() becomes stale as the underlying console structure may have been deallocated or reconfigured by concurrent operations.

The race condition occurs when the function re-acquires the console_lock and calls vcs_vc() again for validation purposes. If the console has been deallocated between the lock release and acquisition, vcs_vc() returns NULL to indicate that the console is no longer valid. The existing code properly breaks out of the while loop upon detecting this condition but fails to account for the fact that subsequent operations still attempt to use the NULL pointer reference.

This null pointer dereference specifically manifests in the vcs_notifier() function where param->vc is accessed without proper validation, causing a kernel memory access violation. The KASAN (Kernel Address Sanitizer) detection confirms this as a null-pointer dereference during read operations on a 2-byte data element, with the error occurring at address qmp_cmd_name: qmp_capabilities, indicating that the issue affects the kernel's QEMU monitoring capabilities and potentially other subsystems relying on console notifications.

The vulnerability directly relates to CWE-476 which addresses NULL pointer dereference conditions in software systems. From an ATT&CK perspective, this represents a privilege escalation vector through kernel memory corruption, potentially allowing malicious actors to execute arbitrary code with kernel-level privileges or cause system crashes and denial of service conditions.

The fix implementation requires adding a simple but critical NULL pointer check before calling vcs_scr_updated() function. This defensive programming approach ensures that when vc_data has been deallocated during the race window, the subsequent notification call is safely avoided, preventing the kernel from attempting to dereference a null pointer reference. The solution demonstrates proper concurrency control by validating all pointer references before use, aligning with best practices for kernel development and system security hardening.

This vulnerability highlights the importance of careful synchronization in kernel space where multiple threads may access shared data structures simultaneously, particularly when temporary lock releases occur during potentially long-running operations such as memory copying from user space. The fix serves as a crucial defensive measure that prevents exploitation of race conditions while maintaining the functionality of the virtual console subsystem under concurrent access scenarios.

The resolution addresses fundamental issues in kernel thread safety and demonstrates how seemingly minor oversight in pointer validation can lead to critical system instability. This type of vulnerability is particularly dangerous because it occurs within core kernel subsystems responsible for console I/O operations, making it potentially exploitable for both denial of service attacks and privilege escalation attempts that could compromise entire system security posture.

Responsible

Linux

Reservation

06/09/2026

Disclosure

07/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!