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

f2fs: validate compress cache inode only when enabled

F2FS_COMPRESS_INO() uses NM_I(sbi)->max_nid as the synthetic inode
number for the compressed page cache inode. That inode only exists when
the compress_cache mount option is enabled.

When compress_cache is disabled, max_nid is outside the valid inode
range. A corrupted directory entry that points to ino == max_nid should
therefore be rejected by f2fs_check_nid_range(). However, is_meta_ino()
currently treats F2FS_COMPRESS_INO() as a meta inode unconditionally,
so f2fs_iget() bypasses do_read_inode() and its nid range check, and
instantiates a fake internal inode instead.

Gate the compressed cache inode case on COMPRESS_CACHE, matching
f2fs_init_compress_inode(). With compress_cache disabled, ino ==
max_nid now follows the normal inode path and is rejected as an
out-of-range nid.
Published: 2026-07-19
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in the Linux kernel's F2FS filesystem driver. When the compress_cache mount option is disabled, a synthetic inode number (max_nid) falls outside the valid inode range. A corrupted directory entry that references this out‑of‑range inode should be rejected during the range check, but due to an unconditional meta‑inode treatment, the check is bypassed. As a result, an attacker can cause f2fs_iget() to instantiate a fake internal inode, which may enable unauthorized access to filesystem data or lead to memory corruption.

Affected Systems

All Linux kernel versions that ship an F2FS driver and do not yet include the patch that validates the compressed cache inode only when the compress_cache option is enabled. The issue affects any system running such a kernel with F2FS support, regardless of the specific kernel version, until a patched release is applied.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity vulnerability. The EPSS score of less than 1% suggests a very low probability of exploitation in the wild. The vulnerability is not listed in the CISA KEV catalog. The attack likely requires local file system access to supply the corrupted directory entry; hence a local attacker could exploit it. The fix adds a guard that only performs the special inode handling when the compress_cache feature is enabled, restoring the normal inode range checks for all other cases.

Generated by OpenCVE AI on July 30, 2026 at 22:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a Linux kernel version that includes the f2fs compression inode validation fix.
  • Reboot the system after applying the kernel update to ensure the new driver is loaded.
  • If the patch cannot be applied immediately, temporarily remove the compress_cache option from the F2fs mount line or replace it with a default safe setting until the kernel patch is available.

Generated by OpenCVE AI on July 30, 2026 at 22:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4700-1 linux-6.1 security update
History

Fri, 24 Jul 2026 18:30:00 +0000


Tue, 21 Jul 2026 00:15:00 +0000


Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sun, 19 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: f2fs: validate compress cache inode only when enabled F2FS_COMPRESS_INO() uses NM_I(sbi)->max_nid as the synthetic inode number for the compressed page cache inode. That inode only exists when the compress_cache mount option is enabled. When compress_cache is disabled, max_nid is outside the valid inode range. A corrupted directory entry that points to ino == max_nid should therefore be rejected by f2fs_check_nid_range(). However, is_meta_ino() currently treats F2FS_COMPRESS_INO() as a meta inode unconditionally, so f2fs_iget() bypasses do_read_inode() and its nid range check, and instantiates a fake internal inode instead. Gate the compressed cache inode case on COMPRESS_CACHE, matching f2fs_init_compress_inode(). With compress_cache disabled, ino == max_nid now follows the normal inode path and is rejected as an out-of-range nid.
Title f2fs: validate compress cache inode only when enabled
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-08-05T12:36:03.620Z

Reserved: 2026-07-19T07:54:57.014Z

Link: CVE-2026-63817

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity :

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-63817 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T22:15:13Z

Weaknesses
  • CWE-358

    Improperly Implemented Security Check for Standard