CVE-2026-46094 PUBLISHED

ext4: fix bounds check in check_xattrs() to prevent out-of-bounds access

Assigner: Linux
Reserved: 13.05.2026 Published: 27.05.2026 Updated: 27.05.2026

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

ext4: fix bounds check in check_xattrs() to prevent out-of-bounds access

The bounds check for the next xattr entry in check_xattrs() uses (void )next >= end, which allows next to point within sizeof(u32) bytes of end. On the next loop iteration, IS_LAST_ENTRY() reads 4 bytes via (__u32 *)(entry), which can overrun the valid xattr region.

For example, if next lands at end - 1, the check passes since next < end, but IS_LAST_ENTRY() reads 4 bytes starting at end - 1, accessing 3 bytes beyond the valid region.

Fix this by changing the check to (void *)next + sizeof(u32) > end, ensuring there is always enough space for the IS_LAST_ENTRY() read on the subsequent iteration.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 3478c83cf26bbffd026ae6a56bcb1fe544f0834e to ab6da97bc310db35d4e4ef5354bc3ff626b0698c (excl.)
  • affected from 3478c83cf26bbffd026ae6a56bcb1fe544f0834e to 5a5314d2387633a272a04d1bd8727f99058e4e68 (excl.)
  • affected from 3478c83cf26bbffd026ae6a56bcb1fe544f0834e to 537e065977022aa22f2c2503e8accaf16622e0fd (excl.)
  • affected from 3478c83cf26bbffd026ae6a56bcb1fe544f0834e to 520986722dbf869c122252123fc161c7302eab7d (excl.)
  • affected from 3478c83cf26bbffd026ae6a56bcb1fe544f0834e to eceafc31ea7b42c984ece10d79d505c0bb6615d5 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.3 is affected
  • unaffected from 0 to 6.3 (excl.)
  • unaffected from 6.6.140 to 6.6.* (incl.)
  • unaffected from 6.12.86 to 6.12.* (incl.)
  • unaffected from 6.18.27 to 6.18.* (incl.)
  • unaffected from 7.0.4 to 7.0.* (incl.)
  • unaffected from 7.1-rc1 to * (incl.)

References