CVE-2022-49913

MEDIUM

Linux Kernel < 5.4.224 - Memory Leak

Title source: rule

Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix inode list leak during backref walking at find_parent_nodes() During backref walking, at find_parent_nodes(), if we are dealing with a data extent and we get an error while resolving the indirect backrefs, at resolve_indirect_refs(), or in the while loop that iterates over the refs in the direct refs rbtree, we end up leaking the inode lists attached to the direct refs we have in the direct refs rbtree that were not yet added to the refs ulist passed as argument to find_parent_nodes(). Since they were not yet added to the refs ulist and prelim_release() does not free the lists, on error the caller can only free the lists attached to the refs that were added to the refs ulist, all the remaining refs get their inode lists never freed, therefore leaking their memory. Fix this by having prelim_release() always free any attached inode list to each ref found in the rbtree, and have find_parent_nodes() set the ref's inode list to NULL once it transfers ownership of the inode list to a ref added to the refs ulist passed to find_parent_nodes().

Scores

CVSS v3 5.5
EPSS 0.0005
EPSS Percentile 15.3%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Classification

CWE
CWE-401
Status published

Affected Products (8)

linux/linux_kernel < 5.4.224
linux/linux_kernel
linux/linux_kernel
linux/linux_kernel
linux/Kernel < 5.4.224linux
linux/Kernel < 5.10.154linux
linux/Kernel < 5.15.78linux
linux/Kernel < 6.0.8linux

Timeline

Published May 01, 2025
Tracked Since Feb 18, 2026