{"id":"CVE-2026-46094","title":"ext4: fix bounds check in check_xattrs() to prevent out-of-bounds access","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\next4: fix bounds check in check_xattrs() to prevent out-of-bounds access\n\nThe bounds check for the next xattr entry in check_xattrs() uses\n(void *)next >= end, which al…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < ab6da97bc310db35d4e4ef5354bc3ff626b0698c","Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < 5a5314d2387633a272a04d1bd8727f99058e4e68","Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < 537e065977022aa22f2c2503e8accaf16622e0fd","Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < 520986722dbf869c122252123fc161c7302eab7d","Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < eceafc31ea7b42c984ece10d79d505c0bb6615d5","Linux 6.3"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-06T16:08:29.750466Z"},"published":"2026-05-27","updated":"2026-11-06","sourceUpdated":"2026-11-06T16:13:37.710Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-46094","references":[{"url":"https://git.kernel.org/stable/c/ab6da97bc310db35d4e4ef5354bc3ff626b0698c"},{"url":"https://git.kernel.org/stable/c/5a5314d2387633a272a04d1bd8727f99058e4e68"},{"url":"https://git.kernel.org/stable/c/537e065977022aa22f2c2503e8accaf16622e0fd"},{"url":"https://git.kernel.org/stable/c/520986722dbf869c122252123fc161c7302eab7d"},{"url":"https://git.kernel.org/stable/c/eceafc31ea7b42c984ece10d79d505c0bb6615d5"}],"tags":["cve.org"],"epss":0.00125,"epssPercentile":0.02226,"ingestedAt":"2026-11-06T16:57:43.338Z","slug":"CVE-2026-46094","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\next4: fix bounds check in check_xattrs() to prevent out-of-bounds access\n\nThe bounds check for the next xattr entry in check_xattrs() uses\n(void *)next >= end, which allows next to point within sizeof(u32)\nbytes of end. On the next loop iteration, IS_LAST_ENTRY() reads 4\nbytes via *(__u32 *)(entry), which can overrun the valid xattr region.\n\nFor example, if next lands at end - 1, the check passes since\nnext < end, but IS_LAST_ENTRY() reads 4 bytes starting at end - 1,\naccessing 3 bytes beyond the valid region.\n\nFix this by changing the check to (void *)next + sizeof(u32) > end,\nensuring there is always enough space for the IS_LAST_ENTRY() read\non the subsequent iteration.\n\n## Affected\n\n- `Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < ab6da97bc310db35d4e4ef5354bc3ff626b0698c`\n- `Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < 5a5314d2387633a272a04d1bd8727f99058e4e68`\n- `Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < 537e065977022aa22f2c2503e8accaf16622e0fd`\n- `Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < 520986722dbf869c122252123fc161c7302eab7d`\n- `Linux >= 3478c83cf26bbffd026ae6a56bcb1fe544f0834e < eceafc31ea7b42c984ece10d79d505c0bb6615d5`\n- `Linux 6.3`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}