CVE-2026-80892

Summary

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

erofs: cap LZMA stream pool size

fs/erofs/decompressor_lzma.c sizes the module-global MicroLZMA stream pool from num_possible_cpus() when the lzma_streams module parameter is unset, then z_erofs_load_lzma_config() preallocates one image-supplied dictionary per stream, accepting dictionaries up to 8 MiB. On high-CPU systems, a small EROFS image can pin hundreds of MiB of vmalloc-backed decoder state until the erofs module is unloaded.

Impact: An EROFS image mounted by the system can pin up to 8 MiB of vmalloc memory per LZMA stream, either as intended or unexpectedly.

Bound the default stream count by a new CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS option, default 16, so the worst-case default preallocation is 128 MiB if the number of CPUs is no less than 16 while preserving the existing per-image dictionary limit. An explicit lzma_streams module parameter is still honoured as-is, so administrators who deliberately size the pool are not affected.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux622ceaddb7649ca328832f50ba1400af778d75fa < 682cb3ece37fc5141e73bc726ccf4adb833e5189affected
LinuxLinux622ceaddb7649ca328832f50ba1400af778d75fa < e8b3d09aa8889dda9be9cbb3d2f0218c4b9acde4affected
LinuxLinux622ceaddb7649ca328832f50ba1400af778d75fa < 0c676903cb2a61992ded8e7907609cc6b0f11744affected
LinuxLinux622ceaddb7649ca328832f50ba1400af778d75fa < 5aaa06dfc10f8398c8807453dbec738ea9af10e4affected
LinuxLinux622ceaddb7649ca328832f50ba1400af778d75fa < e52da169b8c0d19bb2d803f2a07fe0e5a00462d6affected
LinuxLinux622ceaddb7649ca328832f50ba1400af778d75fa < c9b47e6b23114e939b17f818471c7a46e59006e7affected
LinuxLinux5.16affected
LinuxLinux0 < 5.16unaffected
LinuxLinux6.1.184 <= 6.1.*unaffected
LinuxLinux6.6.151 <= 6.6.*unaffected
LinuxLinux6.12.103 <= 6.12.*unaffected
LinuxLinux6.18.44 <= 6.18.*unaffected
LinuxLinux7.1.8 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References