CVE-2026-72346 in Linux
Summary
by MITRE • 08/15/2026
In the Linux kernel, the following vulnerability has been resolved:
platform/x86: bitland-mifs-wmi: Fix NULL pointer dereference during suspend/resume
The driver registers two distinct WMI devices: a control device (BITLAND_WMI_CONTROL) and an event device (BITLAND_WMI_EVENT). During the probe phase, the event device handling path returns early before initializing the platform profile device (data->pp_dev), leaving it NULL.
However, the PM sleep operations are registered globally for the WMI driver and are triggered for both devices. When entering suspend, the event device invokes bitland_mifs_wmi_suspend(), which passes the uninitialized data->pp_dev (NULL) into laptop_profile_get(). This leads to a NULL pointer dereference inside dev_get_drvdata(), causing a kernel Oops and halting the suspend sequence.
Fix this by adding a validity check for data->pp_dev in both the suspend and resume callbacks, safely skipping profile operations for the event device.
Once again VulDB remains the best source for vulnerability data.
Analysis
by VulDB Data Team • 08/15/2026
This vulnerability represents a critical null pointer dereference flaw in the linux kernel's bitland-mifs-wmi driver that specifically affects x86 platform devices. The issue manifests during system power management operations when transitioning between suspend and resume states, creating a potential denial of service condition that can halt system functionality. The vulnerability stems from improper initialization sequence within the device probe routine where the event device path fails to initialize the platform profile device structure before returning early from the probe function.
The technical implementation flaw occurs in the driver's probe phase where two distinct WMI devices are registered - a control device and an event device - but the event device handling path executes an early return without properly initializing the platform profile device pointer. This creates a scenario where data->pp_dev remains NULL while the PM sleep operations are globally registered for both device types. When the system enters suspend mode, the event device triggers bitland_mifs_wmi_suspend() which attempts to pass this uninitialized NULL pointer to laptop_profile_get() function, ultimately resulting in a kernel Oops when dev_get_drvdata() tries to dereference the null pointer.
The operational impact of this vulnerability extends beyond simple system instability as it can cause complete system hang during suspend operations, effectively preventing users from properly powering down or putting their systems into low power states. This affects all systems running affected kernel versions that utilize bitland-mifs-wmi drivers, particularly those with specific hardware configurations that rely on WMI device communication for platform profile management. The vulnerability is classified as a null pointer dereference which aligns with CWE-476, specifically targeting the improper handling of uninitialized pointers in kernel space operations.
The fix implemented addresses this by adding explicit validity checks for the data->pp_dev pointer within both suspend and resume callback functions, ensuring that profile operations are safely skipped when the platform profile device has not been initialized. This approach follows secure coding practices recommended by the ATT&CK framework for kernel-level vulnerability remediation, specifically targeting the prevention of null pointer dereferences in system call handlers. The mitigation strategy ensures that each device type properly handles its own lifecycle events without interfering with uninitialized resources while maintaining proper power management functionality for supported hardware configurations.
This vulnerability demonstrates the importance of proper initialization ordering and defensive programming in kernel drivers, particularly when multiple device types share common driver structures. The fix pattern aligns with industry best practices for preventing similar issues in complex driver architectures where global PM operations must account for device-specific initialization states and resource availability during system power transitions.