Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
622ceaddb7649ca328832f50ba1400af778d75fa to < 682cb3ece37fc5141e73bc726ccf4adb833e5189affected622ceaddb7649ca328832f50ba1400af778d75fa to < e8b3d09aa8889dda9be9cbb3d2f0218c4b9acde4affected622ceaddb7649ca328832f50ba1400af778d75fa to < 0c676903cb2a61992ded8e7907609cc6b0f11744affected622ceaddb7649ca328832f50ba1400af778d75fa to < 5aaa06dfc10f8398c8807453dbec738ea9af10e4affected622ceaddb7649ca328832f50ba1400af778d75fa to < e52da169b8c0d19bb2d803f2a07fe0e5a00462d6affected622ceaddb7649ca328832f50ba1400af778d75fa to < c9b47e6b23114e939b17f818471c7a46e59006e7affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.184 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/682cb3ece37fc5141e73bc726ccf4adb833e5189 ↗
- https://git.kernel.org/stable/c/e8b3d09aa8889dda9be9cbb3d2f0218c4b9acde4 ↗
- https://git.kernel.org/stable/c/0c676903cb2a61992ded8e7907609cc6b0f11744 ↗
- https://git.kernel.org/stable/c/5aaa06dfc10f8398c8807453dbec738ea9af10e4 ↗
- https://git.kernel.org/stable/c/e52da169b8c0d19bb2d803f2a07fe0e5a00462d6 ↗
- https://git.kernel.org/stable/c/c9b47e6b23114e939b17f818471c7a46e59006e7 ↗