CVE-2026-80892: erofs: cap LZMA stream pool size
erofs: cap LZMA stream pool size
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Configuration
Set CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS to 16 to cap the default LZMA stream pool size.
Linux kernel EROFS LZMA decompressor CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS = 16
Event History
Frequently Asked Questions
Which systems are most exposed to excessive memory use?
Systems that mount EROFS images using LZMA compression are exposed, particularly high-CPU systems where the default stream pool was derived from the number of possible CPUs. A small image can retain up to 8 MiB of vmalloc-backed decoder state for each stream until the erofs module is unloaded.
Does an explicitly configured lzma_streams value avoid the new limit?
Yes. An explicit lzma_streams module parameter continues to be honored as configured; the new limit applies to the default stream count when that parameter is unset.
What is the default memory bound after the fix?
The new CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS option defaults to 16 streams. Where the system has at least 16 CPUs, this bounds default preallocation to 128 MiB while retaining the 8 MiB per-image dictionary limit.