一、 漏洞 CVE-2022-49914 基础信息
漏洞信息
                                        # btrfs:在resolve_indirect_refs()的回溯遍历过程中修复inode列表泄露问题

## 概述
在Linux内核的btrfs文件系统中,发现了一个漏洞:在`resolve_indirect_refs()`函数执行间接引用解析时,错误处理过程中未正确释放inode列表,导致内存泄漏。

## 影响版本
未提供具体影响的版本信息。

## 细节
在`resolve_indirect_refs()`函数中,当发生错误时,会跳转到`out`标签并调用`ulist_free()`来释放`parents`列表中的所有元素。但`ulist_free()`只释放了ulist中的元素,而没有释放通过`ulist`节点的`aux`字段附加的任何inode列表,从而导致内存泄漏。通过将`free_leaf_list()`函数提前并简化,改用`free_leaf_list()`来释放内存,解决了该问题。

## 影响
此漏洞可能导致内存泄漏,长期运行下会消耗系统资源,最终可能影响系统性能和稳定性。
                                        
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
btrfs: fix inode list leak during backref walking at resolve_indirect_refs()
来源:美国国家漏洞数据库 NVD
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix inode list leak during backref walking at resolve_indirect_refs() During backref walking, at resolve_indirect_refs(), if we get an error we jump to the 'out' label and call ulist_free() on the 'parents' ulist, which frees all the elements in the ulist - however that does not free any inode lists that may be attached to elements, through the 'aux' field of a ulist node, so we end up leaking lists if we have any attached to the unodes. Fix this by calling free_leaf_list() instead of ulist_free() when we exit from resolve_indirect_refs(). The static function free_leaf_list() is moved up for this to be possible and it's slightly simplified by removing unnecessary code.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
N/A
来源:美国国家漏洞数据库 NVD
漏洞标题
Linux kernel 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于btrfs resolve_indirect_refs错误路径中inode列表泄漏,可能导致内存泄漏。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2022-49914 的公开POC
# POC 描述 源链接 神龙链接
三、漏洞 CVE-2022-49914 的情报信息