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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-53857— bpf: bpf_sk_storage: Fix invalid wait context lockdep report

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存在安全漏洞,该漏洞源于bpf_sk_storage无效等待上下文,可能导致锁依赖报告错误。

AI Predicted 3.3 Difficulty: Theoretical EPSS 0.22% · P12

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux b00fa38a9c1cba044a32a601b49a55a18ed719d1< 47cf3387de902e8f61f705b06cb2fc1315d26932 affected
b00fa38a9c1cba044a32a601b49a55a18ed719d1< 300415caa373a07782fcbc2f8d9429bc2dc27a47 affected
b00fa38a9c1cba044a32a601b49a55a18ed719d1< a96a44aba556c42b432929d37d60158aca21ad4c affected
5.18 affected
< 5.18 unaffected
6.1.189≤ 6.1.* unaffected
6.5.4≤ 6.5.* unaffected
6.6≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-53857

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
bpf: bpf_sk_storage: Fix invalid wait context lockdep report
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf: bpf_sk_storage: Fix invalid wait context lockdep report './test_progs -t test_local_storage' reported a splat: [ 27.137569] ============================= [ 27.138122] [ BUG: Invalid wait context ] [ 27.138650] 6.5.0-03980-gd11ae1b16b0a #247 Tainted: G O [ 27.139542] ----------------------------- [ 27.140106] test_progs/1729 is trying to lock: [ 27.140713] ffff8883ef047b88 (stock_lock){-.-.}-{3:3}, at: local_lock_acquire+0x9/0x130 [ 27.141834] other info that might help us debug this: [ 27.142437] context-{5:5} [ 27.142856] 2 locks held by test_progs/1729: [ 27.143352] #0: ffffffff84bcd9c0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire+0x4/0x40 [ 27.144492] #1: ffff888107deb2c0 (&storage->lock){..-.}-{2:2}, at: bpf_local_storage_update+0x39e/0x8e0 [ 27.145855] stack backtrace: [ 27.146274] CPU: 0 PID: 1729 Comm: test_progs Tainted: G O 6.5.0-03980-gd11ae1b16b0a #247 [ 27.147550] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 [ 27.149127] Call Trace: [ 27.149490] <TASK> [ 27.149867] dump_stack_lvl+0x130/0x1d0 [ 27.152609] dump_stack+0x14/0x20 [ 27.153131] __lock_acquire+0x1657/0x2220 [ 27.153677] lock_acquire+0x1b8/0x510 [ 27.157908] local_lock_acquire+0x29/0x130 [ 27.159048] obj_cgroup_charge+0xf4/0x3c0 [ 27.160794] slab_pre_alloc_hook+0x28e/0x2b0 [ 27.161931] __kmem_cache_alloc_node+0x51/0x210 [ 27.163557] __kmalloc+0xaa/0x210 [ 27.164593] bpf_map_kzalloc+0xbc/0x170 [ 27.165147] bpf_selem_alloc+0x130/0x510 [ 27.166295] bpf_local_storage_update+0x5aa/0x8e0 [ 27.167042] bpf_fd_sk_storage_update_elem+0xdb/0x1a0 [ 27.169199] bpf_map_update_value+0x415/0x4f0 [ 27.169871] map_update_elem+0x413/0x550 [ 27.170330] __sys_bpf+0x5e9/0x640 [ 27.174065] __x64_sys_bpf+0x80/0x90 [ 27.174568] do_syscall_64+0x48/0xa0 [ 27.175201] entry_SYSCALL_64_after_hwframe+0x6e/0xd8 [ 27.175932] RIP: 0033:0x7effb40e41ad [ 27.176357] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d8 [ 27.179028] RSP: 002b:00007ffe64c21fc8 EFLAGS: 00000202 ORIG_RAX: 0000000000000141 [ 27.180088] RAX: ffffffffffffffda RBX: 00007ffe64c22768 RCX: 00007effb40e41ad [ 27.181082] RDX: 0000000000000020 RSI: 00007ffe64c22008 RDI: 0000000000000002 [ 27.182030] RBP: 00007ffe64c21ff0 R08: 0000000000000000 R09: 00007ffe64c22788 [ 27.183038] R10: 0000000000000064 R11: 0000000000000202 R12: 0000000000000000 [ 27.184006] R13: 00007ffe64c22788 R14: 00007effb42a1000 R15: 0000000000000000 [ 27.184958] </TASK> It complains about acquiring a local_lock while holding a raw_spin_lock. It means it should not allocate memory while holding a raw_spin_lock since it is not safe for RT. raw_spin_lock is needed because bpf_local_storage supports tracing context. In particular for task local storage, it is easy to get a "current" task PTR_TO_BTF_ID in tracing bpf prog. However, task (and cgroup) local storage has already been moved to bpf mem allocator which can be used after raw_spin_lock. The splat is for the sk storage. For sk (and inode) storage, it has not been moved to bpf mem allocator. Using raw_spin_lock or not, kzalloc(GFP_ATOMIC) could theoretically be unsafe in tracing context. However, the local storage helper requires a verifier accepted sk pointer (PTR_TO_BTF_ID), it is hypothetical if that (mean running a bpf prog in a kzalloc unsafe context and also able to hold a verifier accepted sk pointer) could happen. This patch avoids kzalloc after raw_spin_lock to silent the splat. There is an existing kzalloc before the raw_spin_lock. At that point, a kzalloc is very likely required because a lookup has just been done before. Thus, this patch always does the kzalloc before acq ---truncated---
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存在安全漏洞,该漏洞源于bpf_sk_storage无效等待上下文,可能导致锁依赖报告错误。
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 b00fa38a9c1cba044a32a601b49a55a18ed719d1 ~ 47cf3387de902e8f61f705b06cb2fc1315d26932 -
Linux Linux 5.18 -

II. Public POCs for CVE-2023-53857

# 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-53857

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

Patches & Fixes for CVE-2023-53857 (1)

Same Patch Batch · Linux · 2025-12-09 · 152 CVEs total

CVE-2025-40343 9.8 CRITICAL nvmet-fc: avoid scheduling association deletion twice
CVE-2023-53794 9.8 CRITICAL cifs: fix session state check in reconnect to avoid use-after-free issue
CVE-2022-50666 9.8 CRITICAL RDMA/siw: Fix QP destroy to wait for all references dropped.
CVE-2023-53827 8.8 HIGH Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
CVE-2023-53785 8.8 HIGH mt76: mt7921: don't assume adequate headroom for SDIO headers
CVE-2023-53822 8.8 HIGH wifi: ath11k: Ignore frags from uninitialized peer in dp.
CVE-2025-40336 8.8 HIGH drm/gpusvm: fix hmm_pfn_to_map_order() usage
CVE-2025-40342 8.8 HIGH nvme-fc: use lock accessing port_state and rport state
CVE-2025-40328 8.8 HIGH smb: client: fix potential UAF in smb2_close_cached_fid()
CVE-2023-53851 8.4 HIGH drm/msm/dp: Drop aux devices together with DP controller
CVE-2025-40337 8.2 HIGH net: stmmac: Correctly handle Rx checksum offload errors
CVE-2022-50656 8.1 HIGH nfc: pn533: Clear nfc_target before being used
CVE-2023-53803 8.1 HIGH scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
CVE-2023-53804 7.8 HIGH nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
CVE-2023-53819 7.8 HIGH amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
CVE-2023-53816 7.8 HIGH drm/amdkfd: fix potential kgd_mem UAFs
CVE-2023-53800 7.8 HIGH ubi: Fix use-after-free when volume resizing failed
CVE-2023-53790 7.8 HIGH bpf: Zeroing allocated object from slab in bpf memory allocator
CVE-2023-53795 7.8 HIGH iommufd: IOMMUFD_DESTROY should not increase the refcount
CVE-2023-53810 7.8 HIGH blk-mq: release crypto keyslot before reporting I/O complete

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-53857

No comments yet


Leave a comment