CVE-2024-47675: bpf: Fix use-after-free in bpf_uprobe_multi_link_attach()
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix use-after-free in bpf_uprobe_multi_link_attach()
If bpf_link_prime() fails, bpf_uprobe_multi_link_attach() goes to the
error_free label and frees the array of bpf_uprobe's without calling
bpf_uprobe_unregister().
This leaks bpf_uprobe->uprobe and worse, this frees bpf_uprobe->consumer
without removing it from the uprobe->consumers list.
Security readout for executives and security teams
Plain-English summary
A flaw in affected Linux kernels can leave freed memory referenced after a BPF uprobe attachment fails. A local, low-privileged user may be able to trigger memory corruption, potentially compromising confidentiality, integrity, and availability. The supplied CVSS score is 7.8.
Executive priority
Treat as a high-priority kernel maintenance issue, especially on shared or multi-user Linux systems. It is not evidenced as an internet-remote or actively exploited threat in the supplied sources. Inventory exposure promptly and deploy vendor-supported fixed kernels through normal emergency patch governance.
Technical view
When bpf_link_prime() fails in bpf_uprobe_multi_link_attach(), cleanup frees bpf_uprobe objects without unregistering them. The associated consumer remains on the uprobe consumers list after being freed, creating a use-after-free condition. The source bundle identifies upstream stable commits resolving the error-path cleanup defect.
Likely exposure
Exposure requires an affected Linux kernel and local low-privileged access; no user interaction is required. Systems permitting relevant BPF and uprobe operations deserve priority. The supplied version data is ambiguous, so distribution-specific kernel advisories should determine actual exposure.
Exploitation context
The supplied CVSS vector indicates local, low-complexity exploitation with low privileges and potentially high confidentiality, integrity, and availability impact. The bundle marks this CVE as absent from KEV and provides no evidence of active exploitation or a public exploit.
Researcher notes
The vulnerable failure path creates a stale uprobe consumer-list entry by freeing the consumer without bpf_uprobe_unregister(). The bundle supplies no CWE, exploit proof, attack prerequisites beyond the CVSS vector, or authoritative distribution package mapping. Validate backports by code or vendor advisory, not version strings alone.
Mitigation direction
Identify Linux kernel versions across hosts and containers sharing host kernels.
Check distribution or kernel-vendor guidance for CVE-2024-47675.
Install a supported kernel release incorporating the referenced stable fix.
Prioritize multi-user systems where untrusted local users can access relevant BPF facilities.
Apply vendor-recommended access restrictions if immediate kernel replacement is unavailable.
Validation and detection
Confirm the running kernel version after remediation and any required reboot.
Verify the installed kernel includes the applicable referenced stable commit or vendor backport.
Review vendor advisories because package versions may not match upstream kernel numbering.
Test affected workloads and BPF observability tooling after the kernel update.
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-47675 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.
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.