Executive brief
zram is a Linux kernel module that provides compressed RAM-based block devices used for swap or temporary storage. A bug in the module's cleanup routine leaves the primary compressor uninitialized, which can cause the system to crash when attempting to read compressor settings.
Technical details
The vulnerability is a NULL pointer dereference in the zram driver. When zram_destroy_comps() is called, it resets all compressors to NULL, including the primary compressor. Subsequently, if comp_algorithm_show() attempts to call strcmp() on the NULL primary compressor pointer, it triggers a NULL dereference. The fix involves setting a default primary compressor in zram_destroy_comps() before the function returns. This prevents the invalid device state where the primary compressor is NULL.
Affected products
- Linux Linux kernel multiple versions across linux-2.6.11.y through linux-7.2.y
Timeline
- 2026-09-11: disclosed: CVE-2026-89717 published
- 2026-09-04: patched: Patch authored by Sergey Senozhatsky
- 2026-09-21: other: Patch merged into stable tree by Greg Kroah-Hartman