CVE-2026-89552
NoneCVSS
—
EPSS
0.2%
Published
Sep 11, 2026
CISA due date
—
Cloudanix analysis
A Linux kernel bug can crash the whole system when memory is low during certain setting changes, giving attackers a way to cause outages.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability leaves a charp kernel parameter set to NULL when kmalloc fails in param_set_charp because the old value is freed before the replacement allocation succeeds, leading to a subsequent NULL pointer dereference (e.g., strcmp in zswap_setup).
Why it matters to the business
Attackers with parameter modification rights can trigger kernel panics and denial of service, disrupting system availability; the issue affects core kernel parameter handling across Linux distributions.
How an attack unfolds
An attacker with privileges to write module parameters via sysfs triggers param_set_charp for a compressor setting; an allocation failure leaves the parameter NULL, and later zswap initialization dereferences it causing a crash.
How to fix it
Apply a kernel patch or upgrade to a version that allocates and copies the replacement value before releasing the prior one in param_set_charp; rebuild and reboot with the fixed kernel.
How to confirm the fix worked
Confirm the kernel source contains the corrected param_set_charp logic that performs allocation before replacement, and test parameter updates under memory pressure to ensure no NULL dereference occurs.
Typical attack path
- Obtain ability to modify kernel module parameters through sysfs or kernfs interfaces
- Issue a parameter update that causes kmalloc to fail in param_set_charp
- Force a subsequent code path (such as zswap_enabled_param_set) that dereferences the now-NULL parameter
How to detect it
Inspect kernel logs for BUG: kernel NULL pointer dereference messages with RIP in strcmp and call traces through zswap_setup or param_attr_store; correlate with prior -ENOMEM returns from parameter stores.
What your security team should do
- Prioritize kernel updates containing the allocation-order fix
- Restrict unprivileged access to sysfs parameter stores where feasible
- Monitor kernel logs for oops involving strcmp or zswap_setup
The record
In the Linux kernel, the following vulnerability has been resolved: params: fix charp corruption on allocation failure param_set_charp() stores charp parameters in allocated memory after slab is available, and releases the previous value when the parameter is updated. The previous value is released before the replacement allocation succeeds. If kmalloc_parameter() fails, the setter returns -ENOMEM with the parameter left as NULL. Failing zswap's compressor update before zswap is initialized can later trigger: BUG: kernel NULL pointer dereference, address: 0000000000000000 RIP: 0010:strcmp+0x10/0x30 Call Trace: zswap_setup+0x3b1/0x490 zswap_enabled_param_set+0x5b/0xa0 param_attr_store+0x93/0xe0 module_attr_store+0x1c/0x30 kernfs_fop_write_iter+0x116/0x1f0 Allocate and copy the replacement first, then replace the parameter value only after allocation succeeds.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|