dm btree remove: assign new_root only when removal succeeds
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 4 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
In the Linux kernel, the following vulnerability has been resolved: dm btree remove: assign new_root only when removal succeeds remove_raw() in dm_btree_remove() may fail due to IO read error (e.g. read the content of origin block fails during shadowing), and the value of shadow_spine::root is uninitialized, but the uninitialized value is still assign to new_root in the end of dm_btree_remove(). For dm-thin, the value of pmd->details_root or pmd->root will become an uninitialized value, so if trying to read details_info tree again out-of-bound memory may occur as showed below: general protection fault, probably for non-canonical address 0x3fdcb14c8d7520 CPU: 4 PID: 515 Comm: dmsetup Not tainted 5.13.0-rc6 Hardware name: QEMU Standard PC RIP: 0010:metadata_ll_load_ie+0x14/0x30 Call Trace: sm_metadata_count_is_more_than_one+0xb9/0xe0 dm_tm_shadow_block+0x52/0x1c0 shadow_step+0x59/0xf0 remove_raw+0xb2/0x170 dm_btree_remove+0xf4/0x1c0 dm_pool_delete_thin_device+0xc3/0x140 pool_message+0x218/0x2b0 target_message+0x251/0x290 ctl_ioctl+0x1c4/0x4d0 dm_ctl_ioctl+0xe/0x20 __x64_sys_ioctl+0x7b/0xb0 do_syscall_64+0x40/0xb0 entry_SYSCALL_64_after_hwframe+0x44/0xae Fixing it by only assign new_root when removal succeeds
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 3.2 and later | 4.4.276, 4.9.276, 4.14.240, 4.19.198, 5.4.133, 5.10.51, 5.12.18, 5.13.3, 5.14 | Patch available | CNA |
- Linux VendorLinux Affected 3.2 and later Fixed in 4.4.276, 4.9.276, 4.14.240, 4.19.198, 5.4.133, 5.10.51, 5.12.18, 5.13.3, 5.14 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | before 4.4.276; 4.5 to before 4.9.276; 4.10 to before 4.14.240; 4.15 to before 4.19.198; 4.20 to before 5.4.133; 5.5 to before 5.10.51; 5.11 to before 5.12.18; 5.13 to before 5.13.3 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions before 4.4.276; 4.5 to before 4.9.276; 4.10 to before 4.14.240; 4.15 to before 4.19.198; 4.20 to before 5.4.133; 5.5 to before 5.10.51; 5.11 to before 5.12.18; 5.13 to before 5.13.3 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 4.4.276, 4.9.276, 4.14.240, 4.19.198, 5.4.133, 5.10.51, 5.12.18, 5.13.3, 5.14
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
Not affected: 1 product
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2021-47343
- 2026-10-03 Alias added: GHSA-qvgm-cw57-rm8q
References
Patch 9
- https://git.kernel.org/stable/c/4c84b3e0728ffe10d89c633694c35a02b5c477dc
- https://git.kernel.org/stable/c/c154775619186781aaf8a99333ac07437a1768d5
- https://git.kernel.org/stable/c/73f27adaa73e3057a9ec464e33c4f54d34ea5de3
- https://git.kernel.org/stable/c/8fbae4a1bdb5b889490cdee929e68540151536e5
- https://git.kernel.org/stable/c/964d57d1962d7e68f0f578f05d9ae4a104d74851
- https://git.kernel.org/stable/c/ba47e65a5de3e0e8270301a409fc63d3129fdb9e
- https://git.kernel.org/stable/c/89bf942314b78d454db92427201421b5dec132d9
- https://git.kernel.org/stable/c/ad365e9351ac2b450e7e79932ff6abf59342d91a
- https://git.kernel.org/stable/c/b6e58b5466b2959f83034bead2e2e1395cca8aeb
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2021-47343 · CVE Program
- CVE-2021-47343 · NVD
- FIRST EPSS
- GHSA-qvgm-cw57-rm8q · GitHub Advisory Database · CC BY 4.0
- CVE-2021-47343 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences