---
id: CVE-2026-63817
title: |-
  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
summary: |-
  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. Th…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
published: '2026-07-19'
updated: '2026-08-17'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-63817'
references:
  - url: 'https://git.kernel.org/stable/c/0969926d987bbde9a1aa49da317582ba37095805'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/13e4b59d3a9413f66f116fa6c4828519b960a5ea'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/16161444c30d8dff9428abbae42b72ce4e32a932'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/29115b8c9172d34e67ab26cc4f6c209b7a236d7a'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5073c66a96a9c23c0c2533ed4ed06e42f9021208'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/77f216ff9ce5cde8eed9f6d12707e906dffdc9f7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fcc051d377a9701a452e7663a1a8223c26225df9'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00134
epssPercentile: 0.02364
ingestedAt: '2026-08-17T05:47:49.628Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
