LiveActive security incident?Get immediate response
CVE Record

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

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.

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A Linux kernel lifetime-management flaw can free a BPF link while a BPF program is still using its data. A local, low-privileged attacker could potentially compromise confidentiality, integrity, or availability. Exposure depends on the active kernel build and access to affected BPF functionality.

Executive priority

Treat this as a high-priority local privilege-boundary issue. Expedite assessment and patching on shared Linux systems, developer platforms, and hosts running less-trusted workloads. Internet reachability alone does not determine exposure because exploitation requires local access.

Technical view

Affected multi-kprobe and multi-uprobe BPF programs may dereference link data after the link reference count reaches zero. The correction defers link deallocation until the appropriate RCU grace periods complete, including tasks-trace RCU for sleepable programs. Raw tracepoint links were also changed preventively.

Likely exposure

The supplied record identifies Linux kernel entries including 5.18, 6.6.26, 6.8.5, and 6.9 as affected. Its version data is ambiguous and includes an anomalous "0" entry, so organizations should map their exact kernel or distribution build to vendor guidance and the referenced fixes.

Exploitation context

The CVSS vector describes local access, low attack complexity, low privileges, and no user interaction. The supplied record is not marked as CISA KEV, and the sources provide no evidence of active exploitation. Absence from KEV does not prove exploitation has never occurred.

Researcher notes

The core issue is a race between bpf_link destruction and programs retaining a runtime dependency on link data, such as cookie values. The fix introduces synchronous and deferred deallocation callbacks and selects RCU sequencing based on whether the program is sleepable. The supplied material does not identify a CWE or demonstrate exploitability.

Mitigation direction

  • Apply a vendor-supported kernel containing the deferred bpf_link deallocation correction.
  • Prioritize multi-user hosts and systems allowing less-trusted workloads to access BPF.
  • Restrict unnecessary BPF access for untrusted local users while awaiting an update.
  • Follow distribution guidance when source-version mapping is unclear.

Validation and detection

  • Record the running kernel build, not only the installed package version.
  • Compare that build with distribution advisories and the referenced stable-kernel fixes.
  • Confirm the corrected kernel is active after maintenance or reboot.
  • Review whether untrusted users or workloads can access affected BPF program types.
Prepared
Confidence
medium
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2024-35860 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
2ADP providers
4Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2024-35860Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
CISA-ADPCISA ADP Vulnrichment
other:ssvc
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux0dcac272540613d41c05e89679e4ddb978b612f1, 0dcac272540613d41c05e89679e4ddb978b612f1, 0dcac272540613d41c05e89679e4ddb978b612f1unaffected
LinuxLinux5.18, 0, 6.6.26, 6.8.5, 6.9affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.