Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2021-47585— btrfs: fix memory leak in __add_inode_ref()

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于btrfs add_inode_ref() 中存在内存泄漏。

AI Predicted 5.5 Difficulty: Hard EPSS 0.25% · P15

Possible ATT&CK Techniques 1 AI

T1562.004

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux d3316c8233bb05e0dd855d30aac347bb8ad76ee4< 005d9292b5b2e71a009f911bd85d755009b37242 affected
d3316c8233bb05e0dd855d30aac347bb8ad76ee4< 493ff661d434d6bdf02e3a21adae04d7a0b4265d affected
d3316c8233bb05e0dd855d30aac347bb8ad76ee4< f35838a6930296fc1988764cfa54cb3f705c0665 affected
5.5 affected
< 5.5 unaffected
5.10.88≤ 5.10.* unaffected
5.15.11≤ 5.15.* unaffected
5.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2021-47585

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
btrfs: fix memory leak in __add_inode_ref()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix memory leak in __add_inode_ref() Line 1169 (#3) allocates a memory chunk for victim_name by kmalloc(), but when the function returns in line 1184 (#4) victim_name allocated by line 1169 (#3) is not freed, which will lead to a memory leak. There is a similar snippet of code in this function as allocating a memory chunk for victim_name in line 1104 (#1) as well as releasing the memory in line 1116 (#2). We should kfree() victim_name when the return value of backref_in_log() is less than zero and before the function returns in line 1184 (#4). 1057 static inline int __add_inode_ref(struct btrfs_trans_handle *trans, 1058 struct btrfs_root *root, 1059 struct btrfs_path *path, 1060 struct btrfs_root *log_root, 1061 struct btrfs_inode *dir, 1062 struct btrfs_inode *inode, 1063 u64 inode_objectid, u64 parent_objectid, 1064 u64 ref_index, char *name, int namelen, 1065 int *search_done) 1066 { 1104 victim_name = kmalloc(victim_name_len, GFP_NOFS); // #1: kmalloc (victim_name-1) 1105 if (!victim_name) 1106 return -ENOMEM; 1112 ret = backref_in_log(log_root, &search_key, 1113 parent_objectid, victim_name, 1114 victim_name_len); 1115 if (ret < 0) { 1116 kfree(victim_name); // #2: kfree (victim_name-1) 1117 return ret; 1118 } else if (!ret) { 1169 victim_name = kmalloc(victim_name_len, GFP_NOFS); // #3: kmalloc (victim_name-2) 1170 if (!victim_name) 1171 return -ENOMEM; 1180 ret = backref_in_log(log_root, &search_key, 1181 parent_objectid, victim_name, 1182 victim_name_len); 1183 if (ret < 0) { 1184 return ret; // #4: missing kfree (victim_name-2) 1185 } else if (!ret) { 1241 return 0; 1242 }
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于btrfs add_inode_ref() 中存在内存泄漏。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux d3316c8233bb05e0dd855d30aac347bb8ad76ee4 ~ 005d9292b5b2e71a009f911bd85d755009b37242 -
Linux Linux 5.5 -

II. Public POCs for CVE-2021-47585

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-47585

请登录查看更多情报信息。

Other References for CVE-2021-47585 (3)

Same Patch Batch · Linux · 2024-06-19 · 122 CVEs total

CVE-2024-38558 10.0 CRITICAL net: openvswitch: fix overwriting ct original tuple for ICMPv6
CVE-2024-38570 9.8 CRITICAL gfs2: Fix potential glock use-after-free on unmount
CVE-2021-47587 9.8 CRITICAL net: systemport: Add global locking for descriptor lifecycle
CVE-2024-38544 9.8 CRITICAL RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt
CVE-2021-47611 8.1 HIGH mac80211: validate extended element ID is present
CVE-2024-38587 7.8 HIGH speakup: Fix sizeof() vs ARRAY_SIZE() bug
CVE-2024-38556 7.8 HIGH net/mlx5: Add a timeout to acquire the command queue semaphore
CVE-2024-38610 7.8 HIGH drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map()
CVE-2024-38605 7.8 HIGH ALSA: core: Fix NULL module pointer assignment at card init
CVE-2024-38599 7.8 HIGH jffs2: prevent xattr node from overflowing the eraseblock
CVE-2024-38592 7.8 HIGH drm/mediatek: Init `ddp_comp` with devm_kcalloc()
CVE-2024-38564 7.8 HIGH bpf: Add BPF_PROG_TYPE_CGROUP_SKB attach type enforcement in BPF_LINK_CREATE
CVE-2024-38568 7.8 HIGH drivers/perf: hisi: hns3: Fix out-of-bound access when valid event group
CVE-2024-38572 7.8 HIGH wifi: ath12k: fix out-of-bound access of qmi_invoke_handler()
CVE-2024-38578 7.8 HIGH ecryptfs: Fix buffer size for tag 66 packet
CVE-2024-38580 7.8 HIGH epoll: be better about file lifetimes
CVE-2024-38569 7.8 HIGH drivers/perf: hisi_pcie: Fix out-of-bound access when valid event group
CVE-2024-38583 7.8 HIGH nilfs2: fix use-after-free of timer for log writer thread
CVE-2024-38614 7.8 HIGH openrisc: traps: Don't send signals to kernel mode threads
CVE-2024-38588 7.8 HIGH ftrace: Fix possible use-after-free issue in ftrace_location()

Showing top 20 of 122 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2021-47585

No comments yet


Leave a comment