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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-35860— bpf: support deferring bpf_link dealloc to after RCU grace period

EPSS 0.02% · P5
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-35860

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: support deferring bpf_link dealloc to after RCU grace period
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf: support deferring bpf_link dealloc to after RCU grace period BPF link for some program types is passed as a "context" which can be used by those BPF programs to look up additional information. E.g., for multi-kprobes and multi-uprobes, link is used to fetch BPF cookie values. Because of this runtime dependency, when bpf_link refcnt drops to zero there could still be active BPF programs running accessing link data. This patch adds generic support to defer bpf_link dealloc callback to after RCU GP, if requested. This is done by exposing two different deallocation callbacks, one synchronous and one deferred. If deferred one is provided, bpf_link_free() will schedule dealloc_deferred() callback to happen after RCU GP. BPF is using two flavors of RCU: "classic" non-sleepable one and RCU tasks trace one. The latter is used when sleepable BPF programs are used. bpf_link_free() accommodates that by checking underlying BPF program's sleepable flag, and goes either through normal RCU GP only for non-sleepable, or through RCU tasks trace GP *and* then normal RCU GP (taking into account rcu_trace_implies_rcu_gp() optimization), if BPF program is sleepable. We use this for multi-kprobe and multi-uprobe links, which dereference link during program run. We also preventively switch raw_tp link to use deferred dealloc callback, as upcoming changes in bpf-next tree expose raw_tp link data (specifically, cookie value) to BPF program at runtime as well.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于链接取消引用。
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 0dcac272540613d41c05e89679e4ddb978b612f1 ~ 876941f533e7b47fc69977fc4551c02f2d18af97 -
LinuxLinux 5.18 -

II. Public POCs for CVE-2024-35860

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-35860

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-05-19 · 82 CVEs total

CVE-2024-35915nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
CVE-2024-35926crypto: iaa - Fix async_disable descriptor leak
CVE-2024-35912wifi: iwlwifi: mvm: rfi: fix potential response leaks
CVE-2024-35913wifi: iwlwifi: mvm: pick the version of SESSION_PROTECTION_NOTIF
CVE-2024-35911ice: fix memory corruption bug with suspend and rebuild
CVE-2024-35908tls: get psock ref after taking rxlock to avoid leak
CVE-2024-35907mlxbf_gige: call request_irq() after NAPI initialized
CVE-2024-35905bpf: Protect against int overflow for stack access size
CVE-2024-35904selinux: avoid dereference of garbage after mount failure
CVE-2024-35909net: wwan: t7xx: Split 64bit accesses to fix alignment issues
CVE-2024-35914nfsd: Fix error cleanup path in nfsd_rename()
CVE-2024-35916dma-buf: Fix NULL pointer dereference in sanitycheck()
CVE-2024-35917s390/bpf: Fix bpf_plt pointer arithmetic
CVE-2023-52699sysv: don't call sb_bread() with pointers_lock held
CVE-2024-35919media: mediatek: vcodec: adding lock to protect encoder context list
CVE-2024-35920media: mediatek: vcodec: adding lock to protect decoder context list
CVE-2024-35921media: mediatek: vcodec: Fix oops when HEVC init fails
CVE-2024-35922fbmon: prevent division by zero in fb_videomode_from_videomode()
CVE-2024-35924usb: typec: ucsi: Limit read size on v1.2
CVE-2024-35925block: prevent division by zero in blk_rq_stat_sum()

Showing top 20 of 82 CVEs. View all on vendor page → →

IV. Related Vulnerabilities

V. Comments for CVE-2024-35860

No comments yet


Leave a comment