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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2023-54086— bpf: Add preempt_count_{sub,add} into btf id deny list

AI Predicted 5.5 Difficulty: Moderate EPSS 0.18% · P8

Possible ATT&CK Techniques 1AI

T1055 · Process Injection

Affected Version Matrix 12

VendorProductVersion RangeStatus
LinuxLinux35e3815fa8102fab4dee75f3547472c66581125d< 095018267c87b8bfbbb12eeb1c0ebf2359e1782caffected
35e3815fa8102fab4dee75f3547472c66581125d< 60039bf72f81638baa28652a11a68e9b0b7b5b2daffected
35e3815fa8102fab4dee75f3547472c66581125d< b9168d41b83d182f34ba927ee822edaee18d5fc8affected
35e3815fa8102fab4dee75f3547472c66581125d< c11bd046485d7bf1ca200db0e7d0bdc4bafdd395affected
f5e770c0c60ab8812574a2e0d163b0efa816a825affected
5.12.11< 5.13affected
5.13affected
< 5.13unaffected
… +4 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2023-54086

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: Add preempt_count_{sub,add} into btf id deny list
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Add preempt_count_{sub,add} into btf id deny list The recursion check in __bpf_prog_enter* and __bpf_prog_exit* leave preempt_count_{sub,add} unprotected. When attaching trampoline to them we get panic as follows, [ 867.843050] BUG: TASK stack guard page was hit at 0000000009d325cf (stack is 0000000046a46a15..00000000537e7b28) [ 867.843064] stack guard page: 0000 [#1] PREEMPT SMP NOPTI [ 867.843067] CPU: 8 PID: 11009 Comm: trace Kdump: loaded Not tainted 6.2.0+ #4 [ 867.843100] Call Trace: [ 867.843101] <TASK> [ 867.843104] asm_exc_int3+0x3a/0x40 [ 867.843108] RIP: 0010:preempt_count_sub+0x1/0xa0 [ 867.843135] __bpf_prog_enter_recur+0x17/0x90 [ 867.843148] bpf_trampoline_6442468108_0+0x2e/0x1000 [ 867.843154] ? preempt_count_sub+0x1/0xa0 [ 867.843157] preempt_count_sub+0x5/0xa0 [ 867.843159] ? migrate_enable+0xac/0xf0 [ 867.843164] __bpf_prog_exit_recur+0x2d/0x40 [ 867.843168] bpf_trampoline_6442468108_0+0x55/0x1000 ... [ 867.843788] preempt_count_sub+0x5/0xa0 [ 867.843793] ? migrate_enable+0xac/0xf0 [ 867.843829] __bpf_prog_exit_recur+0x2d/0x40 [ 867.843837] BUG: IRQ stack guard page was hit at 0000000099bd8228 (stack is 00000000b23e2bc4..000000006d95af35) [ 867.843841] BUG: IRQ stack guard page was hit at 000000005ae07924 (stack is 00000000ffd69623..0000000014eb594c) [ 867.843843] BUG: IRQ stack guard page was hit at 00000000028320f0 (stack is 00000000034b6438..0000000078d1bcec) [ 867.843842] bpf_trampoline_6442468108_0+0x55/0x1000 ... That is because in __bpf_prog_exit_recur, the preempt_count_{sub,add} are called after prog->active is decreased. Fixing this by adding these two functions into btf ids deny list.
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存在安全漏洞,该漏洞源于preempt_count_sub和preempt_count_add未受保护,可能导致递归检查和栈保护页被命中。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux 35e3815fa8102fab4dee75f3547472c66581125d ~ 095018267c87b8bfbbb12eeb1c0ebf2359e1782c -
LinuxLinux 5.13 -

II. Public POCs for CVE-2023-54086

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-54086

登录查看更多情报信息。

Other References for CVE-2023-54086 (2)

Same Patch Batch · Linux · 2025-12-24 · 322 CVEs total

CVE-2025-687419.8 CRITICALscsi: qla2xxx: Fix improper freeing of purex item
CVE-2025-687459.8 CRITICALscsi: qla2xxx: Clear cmds after chip reset
CVE-2023-540909.8 CRITICALixgbe: Fix panic during XDP_TX with > 64 CPUs
CVE-2023-540949.8 CRITICALnet: prevent skb corruption on frag list segmentation
CVE-2022-507179.8 CRITICALnvmet-tcp: add bounds check on Transfer Tag
CVE-2023-538679.8 CRITICALceph: fix potential use-after-free bug when trimming caps
CVE-2023-540769.8 CRITICALsmb: client: fix missed ses refcounting
CVE-2025-683599.8 CRITICALbtrfs: fix double free of qgroup record after failure to add delayed ref head
CVE-2025-687269.8 CRITICALcrypto: aead - Fix reqsize handling
CVE-2023-539969.3 CRITICALx86/sev: Make enc_dec_hypercall() accept a size instead of npages
CVE-2023-540718.8 HIGHwifi: rtw88: use work to update rate to avoid RCU warning
CVE-2025-687368.8 HIGHlandlock: Fix handling of disconnected directories
CVE-2023-540408.8 HIGHice: fix wrong fallback logic for FDIR
CVE-2023-540928.8 HIGHKVM: s390: pv: fix index value of replaced ASCE
CVE-2022-507328.8 HIGHstaging: rtl8192u: Fix use after free in ieee80211_rx()
CVE-2023-541208.8 HIGHBluetooth: Fix race condition in hidp_session_thread
CVE-2023-540438.8 HIGHiommufd: Do not add the same hwpt to the ioas->hwpt_list twice
CVE-2023-540608.8 HIGHiommufd: Set end correctly when doing batch carry
CVE-2023-539868.6 HIGHmips: bmips: BCM6358: disable RAC flush for TP1
CVE-2022-507468.4 HIGHerofs: validate the extent length for uncompressed pclusters

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-54086

No comments yet


Leave a comment