Skip to main content

Linux Kernel EROFS CVE-2026-31467

| EUVDEUVD-2026-24814 HIGH
Improper Locking (CWE-667)
2026-04-22 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
SUSE
HIGH
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

7
Analysis Generated
Apr 27, 2026 - 14:29 vuln.today
CVSS changed
Apr 27, 2026 - 14:22 NVD
7.5 (HIGH)
Patch released
Apr 27, 2026 - 14:16 nvd
Patch available
Patch available
Apr 22, 2026 - 16:33 EUVD
EUVD ID Assigned
Apr 22, 2026 - 14:22 euvd
EUVD-2026-24814
Analysis Generated
Apr 22, 2026 - 14:22 vuln.today
CVE Published
Apr 22, 2026 - 14:16 nvd
HIGH 7.5

DescriptionCVE.org

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

erofs: add GFP_NOIO in the bio completion if needed

The bio completion path in the process context (e.g. dm-verity) will directly call into decompression rather than trigger another workqueue context for minimal scheduling latencies, which can then call vm_map_ram() with GFP_KERNEL.

Due to insufficient memory, vm_map_ram() may generate memory swapping I/O, which can cause submit_bio_wait to deadlock in some scenarios.

Trimmed down the call stack, as follows:

f2fs_submit_read_io submit_bio //bio_list is initialized. mmc_blk_mq_recovery z_erofs_endio vm_map_ram __pte_alloc_kernel __alloc_pages_direct_reclaim shrink_folio_list __swap_writepage submit_bio_wait //bio_list is non-NULL, hang!!!

Use memalloc_noio_{save,restore}() to wrap up this path.

AnalysisAI

Deadlock in Linux kernel EROFS filesystem bio completion path enables remote denial of service. When EROFS decompress operations occur in process context (e.g., dm-verity scenarios), vm_map_ram() called with GFP_KERNEL can trigger memory swapping I/O under low memory conditions, causing submit_bio_wait() to deadlock when bio_list is already initialized. CVSS rates this 7.5 High with network attack vector requiring no authentication, yet EPSS scores only 0.02% (7th percentile), suggesting theoretical rather than observed exploitation. Patches available across multiple stable kernel branches (5.15.203, 6.1.168, 6.6.131, 6.12.80, 6.18.21, 6.19.11, 7.0). Not listed in CISA KEV and no public exploit identified at time of analysis.

Technical ContextAI

EROFS (Enhanced Read-Only File System) is a lightweight read-only filesystem in the Linux kernel optimized for embedded systems and container images. This vulnerability affects the bio (block I/O) completion path when EROFS decompression runs in process context rather than workqueue context for latency optimization. In configurations using device-mapper verification (dm-verity), the bio completion handler directly invokes z_erofs_endio(), which calls vm_map_ram() to map decompressed data. Under memory pressure, vm_map_ram() with GFP_KERNEL allocation flag can trigger page reclaim and swap writeback. If the calling thread already has bio_list initialized (from submit_bio context), the swap writeback's submit_bio_wait() creates a circular dependency: the current thread waits for I/O completion while holding resources needed to complete that I/O. The fix uses memalloc_noio_save/restore to suppress I/O-triggering memory allocations in this critical path. Affected commits span from initial EROFS implementation (1da177e4c3f4) through recent stable branches, indicating long-standing latent bug only triggered under specific memory and storage configurations.

RemediationAI

Upgrade to patched Linux kernel versions: 5.15.203+ for 5.15.x branch, 6.1.168+ for 6.1.x, 6.6.131+ for 6.6.x, 6.12.80+ for 6.12.x, 6.18.21+ for 6.18.x, 6.19.11+ for 6.19.x, or 7.0+ for mainline. Patches available via kernel.org stable tree at https://git.kernel.org/stable/c/378949f46e897204384f3f5f91e42e93e3f87568 (mainline) and corresponding stable branch commits. If immediate patching infeasible, consider compensating controls: disable EROFS filesystem module if not required (add 'install erofs noload' to /etc/modprobe.d/), increase system memory or swap capacity to reduce memory pressure scenarios triggering the deadlock condition (trade-off: does not eliminate vulnerability, only reduces trigger probability), or avoid dm-verity configurations with EROFS until patched (trade-off: loses integrity verification). For container environments using EROFS images, switch to alternative image formats (squashfs, overlayfs) until kernel updated. Monitor for unexplained system hangs during high memory usage as potential exploitation indicator. No user interaction required for exploitation once vulnerable configuration exists, prioritize patching for production systems using EROFS.

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

Share

CVE-2026-31467 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy