Linux Kernel up to 6.11.6 bpf_iter_bits_destroy iteration

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.0 | $0-$5k | 0.00 |
Summary
A vulnerability classified as problematic was found in Linux Kernel up to 6.11.6. This vulnerability affects the function bpf_iter_bits_destroy. Such manipulation leads to iteration.
This vulnerability is uniquely identified as CVE-2024-50254. No exploit exists.
Upgrading the affected component is advised.
Details
A vulnerability, which was classified as problematic, has been found in Linux Kernel up to 6.11.6. Affected by this issue is the function bpf_iter_bits_destroy. The manipulation with an unknown input leads to a iteration vulnerability. Using CWE to declare the problem leads to CWE-834. The product performs an iteration or loop without sufficiently limiting the number of times that the loop is executed. Impacted is availability. CVE summarizes:
In the Linux kernel, the following vulnerability has been resolved: bpf: Free dynamically allocated bits in bpf_iter_bits_destroy() bpf_iter_bits_destroy() uses "kit->nr_bits <= 64" to check whether the bits are dynamically allocated. However, the check is incorrect and may cause a kmemleak as shown below: unreferenced object 0xffff88812628c8c0 (size 32): comm "swapper/0", pid 1, jiffies 4294727320 hex dump (first 32 bytes): b0 c1 55 f5 81 88 ff ff f0 f0 f0 f0 f0 f0 f0 f0 ..U........... f0 f0 f0 f0 f0 f0 f0 f0 00 00 00 00 00 00 00 00 .............. backtrace (crc 781e32cc): [] kmemleak_alloc+0x4b/0x80 [] __kmalloc_node_noprof+0x480/0x5c0 [] __alloc.isra.0+0x89/0xb0 [] alloc_bulk+0x2af/0x720 [] prefill_mem_cache+0x7f/0xb0 [] bpf_mem_alloc_init+0x3e2/0x610 [] bpf_global_ma_init+0x19/0x30 [] do_one_initcall+0xd3/0x3c0 [] kernel_init_freeable+0x66a/0x940 [] kernel_init+0x20/0x160 [] ret_from_fork+0x3c/0x70 [] ret_from_fork_asm+0x1a/0x30 That is because nr_bits will be set as zero in bpf_iter_bits_next() after all bits have been iterated. Fix the issue by setting kit->bit to kit->nr_bits instead of setting kit->nr_bits to zero when the iteration completes in bpf_iter_bits_next(). In addition, use "!nr_bits || bits >= nr_bits" to check whether the iteration is complete and still use "nr_bits > 64" to indicate whether bits are dynamically allocated. The "!nr_bits" check is necessary because bpf_iter_bits_new() may fail before setting kit->nr_bits, and this condition will stop the iteration early instead of accessing the zeroed or freed kit->bits. Considering the initial value of kit->bits is -1 and the type of kit->nr_bits is unsigned int, change the type of kit->nr_bits to int. The potential overflow problem will be handled in the following patch.
The advisory is available at git.kernel.org. This vulnerability is handled as CVE-2024-50254 since 10/21/2024. The exploitation is known to be difficult. Technical details are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 216493 (Ubuntu 24.10 : Linux kernel vulnerabilities (USN-7276-1)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.11.7 eliminates this vulnerability. Applying the patch 9cee266fafaf/101ccfbabf47 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 (216493) and CERT Bund (WID-SEC-2024-3397). 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
- Oracle Linux
- Open Source eCryptfs
- Siemens SIMATIC S7
- SUSE openSUSE
- RESF Rocky Linux
- Dell NetWorker
- Dell Avamar
- IBM QRadar SIEM
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: 5.1VulDB Meta Temp Score: 5.0
VulDB Base Score: 4.8
VulDB Temp Score: 4.6
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 5.5
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: IterationCWE: CWE-834 / CWE-404
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: 216493
Nessus Name: Ubuntu 24.10 : Linux kernel vulnerabilities (USN-7276-1)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 6.11.7
Patch: 9cee266fafaf/101ccfbabf47
Timeline
10/21/2024 🔍11/09/2024 🔍
11/09/2024 🔍
10/02/2025 🔍
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2024-50254 (🔍)
GCVE (CVE): GCVE-0-2024-50254
GCVE (VulDB): GCVE-100-283682
CERT Bund: WID-SEC-2024-3397 - Linux Kernel: Mehrere Schwachstellen ermöglichen nicht spezifizierten Angriff
Entry
Created: 11/09/2024 12:18Updated: 10/02/2025 06:06
Changes: 11/09/2024 12:18 (58), 02/21/2025 13:05 (2), 07/16/2025 23:16 (7), 10/02/2025 06:06 (12)
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.