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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-52897— btrfs: qgroup: do not warn on record without old_roots populated

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 文件系统在qgroup重扫时不应该警告记录没有old_roots。

AI Predicted 5.5 Difficulty: Trivial EPSS 0.20% · P9

Possible ATT&CK Techniques 2 AI

T1496 · Resource Hijacking T1562

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux e15e9f43c7ca25603fcf4c20d44ec777726f1034< bb2c2e62539f2b63c5e0beb51501d328260c7595 affected
e15e9f43c7ca25603fcf4c20d44ec777726f1034< 75181406b4eafacc531ff2ee5fb032bd93317e2b affected
6.1 affected
< 6.1 unaffected
6.1.8≤ 6.1.* unaffected
6.2≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-52897

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: qgroup: do not warn on record without old_roots populated
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: qgroup: do not warn on record without old_roots populated [BUG] There are some reports from the mailing list that since v6.1 kernel, the WARN_ON() inside btrfs_qgroup_account_extent() gets triggered during rescan: WARNING: CPU: 3 PID: 6424 at fs/btrfs/qgroup.c:2756 btrfs_qgroup_account_extents+0x1ae/0x260 [btrfs] CPU: 3 PID: 6424 Comm: snapperd Tainted: P OE 6.1.2-1-default #1 openSUSE Tumbleweed 05c7a1b1b61d5627475528f71f50444637b5aad7 RIP: 0010:btrfs_qgroup_account_extents+0x1ae/0x260 [btrfs] Call Trace: <TASK> btrfs_commit_transaction+0x30c/0xb40 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6] ? start_transaction+0xc3/0x5b0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6] btrfs_qgroup_rescan+0x42/0xc0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6] btrfs_ioctl+0x1ab9/0x25c0 [btrfs c39c9c546c241c593f03bd6d5f39ea1b676250f6] ? __rseq_handle_notify_resume+0xa9/0x4a0 ? mntput_no_expire+0x4a/0x240 ? __seccomp_filter+0x319/0x4d0 __x64_sys_ioctl+0x90/0xd0 do_syscall_64+0x5b/0x80 ? syscall_exit_to_user_mode+0x17/0x40 ? do_syscall_64+0x67/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7fd9b790d9bf </TASK> [CAUSE] Since commit e15e9f43c7ca ("btrfs: introduce BTRFS_QGROUP_RUNTIME_FLAG_NO_ACCOUNTING to skip qgroup accounting"), if our qgroup is already in inconsistent state, we will no longer do the time-consuming backref walk. This can leave some qgroup records without a valid old_roots ulist. Normally this is fine, as btrfs_qgroup_account_extents() would also skip those records if we have NO_ACCOUNTING flag set. But there is a small window, if we have NO_ACCOUNTING flag set, and inserted some qgroup_record without a old_roots ulist, but then the user triggered a qgroup rescan. During btrfs_qgroup_rescan(), we firstly clear NO_ACCOUNTING flag, then commit current transaction. And since we have a qgroup_record with old_roots = NULL, we trigger the WARN_ON() during btrfs_qgroup_account_extents(). [FIX] Unfortunately due to the introduction of NO_ACCOUNTING flag, the assumption that every qgroup_record would have its old_roots populated is no longer correct. Fix the false alerts and drop the WARN_ON().
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 文件系统在qgroup重扫时不应该警告记录没有old_roots。
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 e15e9f43c7ca25603fcf4c20d44ec777726f1034 ~ bb2c2e62539f2b63c5e0beb51501d328260c7595 -
Linux Linux 6.1 -

II. Public POCs for CVE-2023-52897

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-52897

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

Other References for CVE-2023-52897 (2)

Same Patch Batch · Linux · 2024-08-21 · 68 CVEs total

CVE-2023-52910 8.8 HIGH iommu/iova: Fix alloc iova overflows issue
CVE-2024-43881 8.8 HIGH wifi: ath12k: change DMA direction while mapping reinjected packets
CVE-2022-48871 8.8 HIGH tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer
CVE-2024-43878 8.1 HIGH xfrm: Fix input error path memory access
CVE-2022-48883 7.8 HIGH net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent
CVE-2024-43882 7.8 HIGH exec: Fix ToCToU between perm check and set-uid/gid usage
CVE-2023-52913 7.8 HIGH drm/i915: Fix potential context UAFs
CVE-2022-48892 7.8 HIGH sched/core: Fix use-after-free bug in dup_user_cpus_ptr()
CVE-2024-43877 7.8 HIGH media: pci: ivtv: Add check for DMA map result
CVE-2024-43880 7.8 HIGH mlxsw: spectrum_acl_erp: Fix object nesting warning
CVE-2022-48899 7.8 HIGH drm/virtio: Fix GEM handle creation UAF
CVE-2022-48872 7.8 HIGH misc: fastrpc: Fix use-after-free race condition for maps
CVE-2022-48873 7.8 HIGH misc: fastrpc: Don't remove map on creater_process and device_release
CVE-2022-48874 7.8 HIGH misc: fastrpc: Fix use-after-free and race in fastrpc_map_find
CVE-2023-52903 7.8 HIGH io_uring: lock overflowing for IOPOLL
CVE-2022-48887 7.8 HIGH drm/vmwgfx: Remove rcu locks from user resources
CVE-2022-48878 7.8 HIGH Bluetooth: hci_qca: Fix driver shutdown on closed serdev
CVE-2023-52907 7.8 HIGH nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
CVE-2023-52909 7.5 HIGH nfsd: fix handling of cached open files in nfsd4_open codepath
CVE-2024-43872 7.5 HIGH RDMA/hns: Fix soft lockup under heavy CEQE load

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-52897

No comments yet


Leave a comment