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.
Published: 2026-09-04
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (memory exhaustion)
Action: Patch
AI Analysis

Impact

In Linux kernels that support the EROFS filesystem, the decompression component allocates a global LZMA stream pool sized on the number of CPUs, allocating up to 8 MiB of dictionary memory per stream. When the higher‑level module parameter is unset, mounting an EROFS image can therefore reserve hundreds of megabytes of vmalloc memory in a very small filesystem image. The extra memory holds decoder state until the erofs module is unloaded, which can consume large amounts of kernel virtual memory and lead to a denial‑of‑service condition if the system runs low on vmalloc space.

Affected Systems

This flaw affects any Linux distribution that compiles the EROFS filesystem with default settings and does not explicitly set the lzma_streams module parameter. All kernels that enable EROFS by default or where the module is explicitly loaded are vulnerable. The issue is limited to systems that mount EROFS images; other kernel subsystems are unaffected.

Risk and Exploitability

The vulnerability does not provide remote code execution or privilege escalation; it primarily allows an attacker to consume kernel virtual memory and cause a denial of service. The current CVSS or EPSS scores are not available and the flaw is not listed in the CISA KEV catalog, suggesting limited exploitation risk. However, on machines with many CPUs, the default unbounded allocation can quickly consume hundreds of megabytes, making the attack path practical on high‑performance servers that mount EROFS volumes. Administrators who control the system can mitigate by capping the stream count, but an attacker with the ability to mount a crafted image or interrupt the kernel is able to trigger the denial of service.

Generated by OpenCVE AI on September 4, 2026 at 19:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Reboot with a kernel version that includes the fixed CONFIG_EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS option, which limits the default stream count to 16, or apply the patch that introduces this option.
  • If upgrading is not possible, set the module parameter lzma_streams to a safe number such as 16, or disable the LZMA stream pool entirely via a custom kernel configuration.
  • Remove or unmount any unnecessary EROFS volumes, especially on high‑CPU servers, to reduce the pool usage.
  • Monitor vmalloc and kernel memory usage for sudden spikes that might indicate exploitation attempts.

Generated by OpenCVE AI on September 4, 2026 at 19:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
Debian DLA Debian DLA DLA-4788-1 linux-6.12 security update
History

Fri, 04 Sep 2026 20:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-229

Fri, 04 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
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.
Title erofs: cap LZMA stream pool size
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T17:11:08.391Z

Reserved: 2026-08-26T14:34:25.800Z

Link: CVE-2026-80892

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T18:17:57.337

Modified: 2026-09-04T18:17:57.337

Link: CVE-2026-80892

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T22:15:06Z

Weaknesses
  • CWE-229

    Improper Handling of Values