CVE-2026-31434
Received Received - Intake
Memory Leak in Linux Kernel btrfs Sub-Group space_info Component

Publication date: 2026-04-22

Last updated on: 2026-04-22

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix leak of kobject name for sub-group space_info When create_space_info_sub_group() allocates elements of space_info->sub_group[], kobject_init_and_add() is called for each element via btrfs_sysfs_add_space_info_type(). However, when check_removing_space_info() frees these elements, it does not call btrfs_sysfs_remove_space_info() on them. As a result, kobject_put() is not called and the associated kobj->name objects are leaked. This memory leak is reproduced by running the blktests test case zbd/009 on kernels built with CONFIG_DEBUG_KMEMLEAK. The kmemleak feature reports the following error: unreferenced object 0xffff888112877d40 (size 16): comm "mount", pid 1244, jiffies 4294996972 hex dump (first 16 bytes): 64 61 74 61 2d 72 65 6c 6f 63 00 c4 c6 a7 cb 7f data-reloc...... backtrace (crc 53ffde4d): __kmalloc_node_track_caller_noprof+0x619/0x870 kstrdup+0x42/0xc0 kobject_set_name_vargs+0x44/0x110 kobject_init_and_add+0xcf/0x150 btrfs_sysfs_add_space_info_type+0xfc/0x210 [btrfs] create_space_info_sub_group.constprop.0+0xfb/0x1b0 [btrfs] create_space_info+0x211/0x320 [btrfs] btrfs_init_space_info+0x15a/0x1b0 [btrfs] open_ctree+0x33c7/0x4a50 [btrfs] btrfs_get_tree.cold+0x9f/0x1ee [btrfs] vfs_get_tree+0x87/0x2f0 vfs_cmd_create+0xbd/0x280 __do_sys_fsconfig+0x3df/0x990 do_syscall_64+0x136/0x1540 entry_SYSCALL_64_after_hwframe+0x76/0x7e To avoid the leak, call btrfs_sysfs_remove_space_info() instead of kfree() for the elements.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-22
Last Modified
2026-04-22
Generated
2026-05-07
AI Q&A
2026-04-23
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
linux kernel to 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (exc)
linux kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

The provided information does not specify any impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.


Can you explain this vulnerability to me?

This vulnerability is a memory leak in the Linux kernel's btrfs filesystem code. Specifically, when creating sub-groups of space_info, the kernel allocates objects and initializes them with kobject_init_and_add(). However, when these objects are freed, the proper removal function btrfs_sysfs_remove_space_info() is not called. Instead, a simple free operation is done, which skips calling kobject_put() and causes the associated kobject name objects to leak memory.

The leak can be detected by running specific kernel memory leak detection tests (kmemleak) and is triggered during certain btrfs operations involving space_info sub-groups.


How can this vulnerability impact me? :

This vulnerability causes a memory leak in the Linux kernel when using the btrfs filesystem. Over time, this leak can lead to increased memory consumption, potentially degrading system performance or causing resource exhaustion.

While it does not directly lead to code execution or privilege escalation, the leak could affect system stability, especially on systems with heavy btrfs usage or limited memory.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by running the blktests test case zbd/009 on kernels built with CONFIG_DEBUG_KMEMLEAK enabled.

The kmemleak feature will report unreferenced objects indicating the memory leak, showing details such as the process name, pid, and a backtrace.

Specifically, the error message will show unreferenced kobject name objects leaked during the btrfs sub-group space_info operations.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, ensure that the kernel code calls btrfs_sysfs_remove_space_info() instead of kfree() when freeing elements of space_info->sub_group[].

This change prevents the memory leak by properly releasing the kobject name objects.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart