CVE-2023-54044
NoneCVSS
—
EPSS
0.3%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel can make the system crash when certain hardware drivers are removed, so updating the kernel prevents these unexpected shutdowns.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
NULL pointer dereference panic in spmi_drv_remove when an SPMI driver lacking a remove callback is unregistered, triggered via device_release_driver_internal during module unload.
Why it matters to the business
Unloading affected kernel modules can cause immediate system crashes and downtime; organizations running custom or vendor SPMI drivers on Linux kernels face elevated operational risk until patched.
How an attack unfolds
An attacker with sufficient privileges to unload a vulnerable SPMI driver module (such as qcom_spmi_pmic) triggers the removal path; the kernel calls spmi_drv_remove without checking for a remove callback, dereferences a NULL function pointer, and panics.
How to fix it
Update to a kernel containing commit b95a69214daea4aab1c8bad96571d988a62e2c97 or later; for Chainguard images upgrade mattermost-10.3 and mattermost-10.3-compat to 10.3.4-r9 or newer.
How to confirm the fix worked
Confirm the presence of the guard checking for a remove callback in spmi_drv_remove; verify kernel version or git commit b95a69214daea4aab1c8bad96571d988a62e2c97 is applied.
Typical attack path
- Obtain local access or code execution allowing module unload
- Invoke rmmod or delete_module on the target SPMI driver
- Kernel executes spmi_drv_remove without callback guard
- NULL dereference occurs leading to panic and denial of service
How to detect it
Search kernel logs and crash dumps for the stack trace containing spmi_drv_remove, device_release_driver_internal, driver_detach, and __do_sys_delete_module; correlate with module unload timestamps.
- spmi_drv_remove+0x16c/0x1e0
- dump_backtrace.cfi_jt+0x0/0x8
- __do_sys_delete_module+0x3ec/0x53c
- qcom_spmi_pmic
What your security team should do
- Prioritize kernel updates containing the referenced commit on all affected systems
- Audit custom SPMI drivers for explicit remove callbacks or devm_ resource usage
- Monitor module unload events in production environments until patches are deployed
The record
In the Linux kernel, the following vulnerability has been resolved: spmi: Add a check for remove callback when removing a SPMI driver When removing a SPMI driver, there can be a crash due to NULL pointer dereference if it does not have a remove callback defined. This is one such call trace observed when removing the QCOM SPMI PMIC driver: dump_backtrace.cfi_jt+0x0/0x8 dump_stack_lvl+0xd8/0x16c panic+0x188/0x498 __cfi_slowpath+0x0/0x214 __cfi_slowpath+0x1dc/0x214 spmi_drv_remove+0x16c/0x1e0 device_release_driver_internal+0x468/0x79c driver_detach+0x11c/0x1a0 bus_remove_driver+0xc4/0x124 driver_unregister+0x58/0x84 cleanup_module+0x1c/0xc24 [qcom_spmi_pmic] __do_sys_delete_module+0x3ec/0x53c __arm64_sys_delete_module+0x18/0x28 el0_svc_common+0xdc/0x294 el0_svc+0x38/0x9c el0_sync_handler+0x8c/0xf0 el0_sync+0x1b4/0x1c0 If a driver has all its resources allocated through devm_() APIs and does not need any other explicit cleanup, it would not require a remove callback to be defined. Hence, add a check for remove callback presence before calling it when removing a SPMI driver.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 3.15.0 | 4.14.315 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.118.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.118.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel