Linux Kernel up to 6.9.9 bpf_timer_cancel_and_free initialization

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.1 | $0-$5k | 0.00 |
Summary
A vulnerability classified as problematic was found in Linux Kernel up to 6.9.9. Impacted is the function bpf_timer_cancel_and_free. The manipulation results in initialization.
This vulnerability is identified as CVE-2024-41045. There is not any exploit available.
Upgrading the affected component is advised.
Details
A vulnerability was found in Linux Kernel up to 6.9.9. It has been classified as problematic. Affected is the function bpf_timer_cancel_and_free. The manipulation with an unknown input leads to a initialization vulnerability. CWE is classifying the issue as CWE-665. The product does not initialize or incorrectly initializes a resource, which might leave the resource in an unexpected state when it is accessed or used. The impact remains unknown. CVE summarizes:
In the Linux kernel, the following vulnerability has been resolved: bpf: Defer work in bpf_timer_cancel_and_free Currently, the same case as previous patch (two timer callbacks trying to cancel each other) can be invoked through bpf_map_update_elem as well, or more precisely, freeing map elements containing timers. Since this relies on hrtimer_cancel as well, it is prone to the same deadlock situation as the previous patch. It would be sufficient to use hrtimer_try_to_cancel to fix this problem, as the timer cannot be enqueued after async_cancel_and_free. Once async_cancel_and_free has been done, the timer must be reinitialized before it can be armed again. The callback running in parallel trying to arm the timer will fail, and freeing bpf_hrtimer without waiting is sufficient (given kfree_rcu), and bpf_timer_cb will return HRTIMER_NORESTART, preventing the timer from being rearmed again. However, there exists a UAF scenario where the callback arms the timer before entering this function, such that if cancellation fails (due to timer callback invoking this routine, or the target timer callback running concurrently). In such a case, if the timer expiration is significantly far in the future, the RCU grace period expiration happening before it will free the bpf_hrtimer state and along with it the struct hrtimer, that is enqueued. Hence, it is clear cancellation needs to occur after async_cancel_and_free, and yet it cannot be done inline due to deadlock issues. We thus modify bpf_timer_cancel_and_free to defer work to the global workqueue, adding a work_struct alongside rcu_head (both used at _different_ points of time, so can share space). Update existing code comments to reflect the new state of affairs.
The advisory is available at git.kernel.org. This vulnerability is traded as CVE-2024-41045 since 07/12/2024. The exploitability is told to be difficult. Technical details are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 210060 (Ubuntu 22.04 LTS / 24.04 LTS : Linux kernel kernel vulnerabilities (USN-7089-1)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.9.10 eliminates this vulnerability. Applying the patch 7aa5a19279c3/a6fcd19d7eac is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (210060) and CERT Bund (WID-SEC-2024-1722). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Affected
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- IBM InfoSphere Guardium
- Oracle Linux
- NetApp FAS
- NetApp ActiveIQ Unified Manager
- Siemens SIMATIC S7
- Oracle VM
- IBM Security Guardium
- RESF Rocky Linux
- Broadcom Brocade SANnav
- Dell PowerScale
- Open Source Linux Kernel
- IBM QRadar SIEM
- Dell integrated Dell Remote Access Controller
- Dell Avamar
- IBM Storage Scale
- IBM Spectrum Protect Plus
- Juniper Junos Space
- IBM Storage Scale System
- SolarWinds Security Event Manager
- Dell PowerProtect Data Domain
- Dell PowerProtect Data Domain Management Center
- Dell PowerProtect Data Domain OS
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.2VulDB Meta Temp Score: 6.1
VulDB Base Score: 4.6
VulDB Temp Score: 4.4
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.8
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: InitializationCWE: CWE-665
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: Partially
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 210060
Nessus Name: Ubuntu 22.04 LTS / 24.04 LTS : Linux kernel kernel vulnerabilities (USN-7089-1)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 6.9.10
Patch: 7aa5a19279c3/a6fcd19d7eac
Timeline
07/12/2024 🔍07/29/2024 🔍
07/29/2024 🔍
09/25/2025 🔍
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2024-41045 (🔍)
GCVE (CVE): GCVE-0-2024-41045
GCVE (VulDB): GCVE-100-272706
CERT Bund: WID-SEC-2024-1722 - Linux Kernel: Mehrere Schwachstellen ermöglichen nicht spezifizierten Angriff
Entry
Created: 07/29/2024 17:55Updated: 09/25/2025 22:24
Changes: 07/29/2024 17:55 (57), 07/30/2024 17:00 (1), 11/02/2024 04:08 (2), 07/15/2025 13:50 (7), 07/18/2025 22:19 (1), 09/02/2025 00:21 (1), 09/25/2025 22:24 (11)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.