CVE-2025-71110: mm/slub: reset KASAN tag in defer_free() before accessing freed memory
In the Linux kernel, the following vulnerability has been resolved:
mm/slub: reset KASAN tag in deferfree() before accessing freed memory
When CONFIGSLUBTINY is enabled, kfreenolock() calls kasanslabfree() before deferfree(). On ARM64 with MTE (Memory Tagging Extension), kasanslabfree() poisons the memory and changes the tag from the original (e.g., 0xf3) to a poison tag (0xfe).
When deferfree() then tries to write to the freed object to build the deferred free list via llistadd(), the pointer still has the old tag, causing a tag mismatch and triggering a KASAN use-after-free report:
BUG: KASAN: slab-use-after-free in deferfree+0x3c/0xbc mm/slub.c:6537 Write at addr f3f000000854f020 by task kworker/u8:6/983 Pointer tag: [f3], memory tag: [fe]
Fix this by calling kasanresettag() before accessing the freed memory. This is safe because deferfree() is part of the allocator itself and is expected to manipulate freed memory for bookkeeping purposes.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2025-71110?
CVE-2025-71110 is classified as a medium severity vulnerability affecting the Linux kernel.
How do I fix CVE-2025-71110?
To fix CVE-2025-71110, update your Linux kernel to the latest version where this vulnerability has been patched.
What software is affected by CVE-2025-71110?
CVE-2025-71110 affects the Linux kernel, particularly when CONFIG_SLUB_TINY is enabled.
What does CVE-2025-71110 exploit in the Linux kernel?
CVE-2025-71110 exploits the improper handling of freed memory in the defer_free() function.
Is CVE-2025-71110 related to memory safety issues?
Yes, CVE-2025-71110 is related to memory safety issues concerning the access of freed memory.