Linux Kernel up to 5.10.74/5.14.13 mlx5_core_destroy_cq memory leak

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.0 | $0-$5k | 0.00 |
Summary
A vulnerability marked as critical has been reported in Linux Kernel up to 5.10.74/5.14.13. The affected element is the function mlx5_core_destroy_cq. This manipulation causes memory leak.
This vulnerability appears as CVE-2021-47438. There is no available exploit.
It is suggested to upgrade the affected component.
Details
A vulnerability classified as critical was found in Linux Kernel up to 5.10.74/5.14.13. Affected by this vulnerability is the function mlx5_core_destroy_cq. The manipulation with an unknown input leads to a memory leak vulnerability. The CWE definition for the vulnerability is CWE-401. The product does not sufficiently track and release allocated memory after it has been used, which slowly consumes remaining memory. As an impact it is known to affect availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path Prior to this patch in case mlx5_core_destroy_cq() failed it returns without completing all destroy operations and that leads to memory leak. Instead, complete the destroy flow before return error. Also move mlx5_debug_cq_remove() to the beginning of mlx5_core_destroy_cq() to be symmetrical with mlx5_core_create_cq(). kmemleak complains on: unreferenced object 0xc000000038625100 (size 64): comm "ethtool", pid 28301, jiffies 4298062946 (age 785.380s) hex dump (first 32 bytes): 60 01 48 94 00 00 00 c0 b8 05 34 c3 00 00 00 c0 `.H.......4..... 02 00 00 00 00 00 00 00 00 db 7d c1 00 00 00 c0 ..........}..... backtrace: [] add_res_tree+0xd0/0x270 [mlx5_core] [] mlx5_debug_cq_add+0x5c/0xc0 [mlx5_core] [] mlx5_core_create_cq+0x1d0/0x2d0 [mlx5_core] [] mlx5e_create_cq+0x210/0x3f0 [mlx5_core] [] mlx5e_open_cq+0xb4/0x130 [mlx5_core] [] mlx5e_ptp_open+0x7f4/0xe10 [mlx5_core] [] mlx5e_open_channels+0x9cc/0x13e0 [mlx5_core] [] mlx5e_switch_priv_channels+0xa4/0x230 [mlx5_core] [] mlx5e_safe_switch_params+0x14c/0x300 [mlx5_core] [] set_pflag_tx_port_ts+0x9c/0x160 [mlx5_core] [] mlx5e_set_priv_flags+0xd0/0x1b0 [mlx5_core] [] ethnl_set_privflags+0x234/0x2d0 [] genl_family_rcv_msg_doit+0x108/0x1d0 [] genl_family_rcv_msg+0xe4/0x1f0 [] genl_rcv_msg+0x78/0x120 [] netlink_rcv_skb+0x74/0x1a0
It is possible to read the advisory at git.kernel.org. This vulnerability is known as CVE-2021-47438 since 05/21/2024. The exploitation appears to be difficult. Technical details of the vulnerability are known, but there is no available exploit.
Upgrading to version 5.10.75 or 5.14.14 eliminates this vulnerability. Applying the patch 4f7bddf8c5c0/ed8aafea4fec/94b960b9deff 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.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Product
Type
Vendor
Name
Version
- 5.10.0
- 5.10.1
- 5.10.2
- 5.10.3
- 5.10.4
- 5.10.5
- 5.10.6
- 5.10.7
- 5.10.8
- 5.10.9
- 5.10.10
- 5.10.11
- 5.10.12
- 5.10.13
- 5.10.14
- 5.10.15
- 5.10.16
- 5.10.17
- 5.10.18
- 5.10.19
- 5.10.20
- 5.10.21
- 5.10.22
- 5.10.23
- 5.10.24
- 5.10.25
- 5.10.26
- 5.10.27
- 5.10.28
- 5.10.29
- 5.10.30
- 5.10.31
- 5.10.32
- 5.10.33
- 5.10.34
- 5.10.35
- 5.10.36
- 5.10.37
- 5.10.38
- 5.10.39
- 5.10.40
- 5.10.41
- 5.10.42
- 5.10.43
- 5.10.44
- 5.10.45
- 5.10.46
- 5.10.47
- 5.10.48
- 5.10.49
- 5.10.50
- 5.10.51
- 5.10.52
- 5.10.53
- 5.10.54
- 5.10.55
- 5.10.56
- 5.10.57
- 5.10.58
- 5.10.59
- 5.10.60
- 5.10.61
- 5.10.62
- 5.10.63
- 5.10.64
- 5.10.65
- 5.10.66
- 5.10.67
- 5.10.68
- 5.10.69
- 5.10.70
- 5.10.71
- 5.10.72
- 5.10.73
- 5.10.74
- 5.14.0
- 5.14.1
- 5.14.2
- 5.14.3
- 5.14.4
- 5.14.5
- 5.14.6
- 5.14.7
- 5.14.8
- 5.14.9
- 5.14.10
- 5.14.11
- 5.14.12
- 5.14.13
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: Memory leakCWE: CWE-401 / 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 |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 5.10.75/5.14.14
Patch: 4f7bddf8c5c0/ed8aafea4fec/94b960b9deff
Timeline
05/21/2024 🔍05/22/2024 🔍
05/22/2024 🔍
01/08/2025 🔍
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2021-47438 (🔍)
GCVE (CVE): GCVE-0-2021-47438
GCVE (VulDB): GCVE-100-265843
Entry
Created: 05/22/2024 09:04Updated: 01/08/2025 07:45
Changes: 05/22/2024 09:04 (57), 01/08/2025 07:45 (13)
Complete: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.