CVE-2021-47516
Google Nfp Memory Leak Vulnerability
Description
In the Linux kernel, the following vulnerability has been resolved: nfp: Fix memory leak in nfp_cpp_area_cache_add() In line 800 (#1), nfp_cpp_area_alloc() allocates and initializes a CPP area structure. But in line 807 (#2), when the cache is allocated failed, this CPP area structure is not freed, which will result in memory leak. We can fix it by freeing the CPP area when the cache is allocated failed (#2). 792 int nfp_cpp_area_cache_add(struct nfp_cpp *cpp, size_t size) 793 { 794 struct nfp_cpp_area_cache *cache; 795 struct nfp_cpp_area *area; 800 area = nfp_cpp_area_alloc(cpp, NFP_CPP_ID(7, NFP_CPP_ACTION_RW, 0), 801 0, size); // #1: allocates and initializes 802 if (!area) 803 return -ENOMEM; 805 cache = kzalloc(sizeof(*cache), GFP_KERNEL); 806 if (!cache) 807 return -ENOMEM; // #2: missing free 817 return 0; 818 }
INFO
Published Date :
May 24, 2024, 3:15 p.m.
Last Modified :
Nov. 21, 2024, 6:36 a.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
3.6
Exploitability Score :
1.8
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2021-47516
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2021-47516
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-47516
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/2e0e072e62fdaf7816220af08e05c020f0fcb77a Added Reference https://git.kernel.org/stable/c/3e93abcdcec0436fbf0b6a88ae806902426895a2 Added Reference https://git.kernel.org/stable/c/484069b5de9d223cc1c64c6f80389a99cfef51f1 Added Reference https://git.kernel.org/stable/c/c56c96303e9289cc34716b1179597b6f470833de Added Reference https://git.kernel.org/stable/c/eb51f639ef3fd5498b7def290ed8681b6aadd9a7 Added Reference https://git.kernel.org/stable/c/f707820c09239d6f67699d9b2ff57863cc7905b0 -
Initial Analysis by [email protected]
Jun. 10, 2024
Action Type Old Value New Value Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Changed Reference Type https://git.kernel.org/stable/c/2e0e072e62fdaf7816220af08e05c020f0fcb77a No Types Assigned https://git.kernel.org/stable/c/2e0e072e62fdaf7816220af08e05c020f0fcb77a Patch Changed Reference Type https://git.kernel.org/stable/c/3e93abcdcec0436fbf0b6a88ae806902426895a2 No Types Assigned https://git.kernel.org/stable/c/3e93abcdcec0436fbf0b6a88ae806902426895a2 Patch Changed Reference Type https://git.kernel.org/stable/c/484069b5de9d223cc1c64c6f80389a99cfef51f1 No Types Assigned https://git.kernel.org/stable/c/484069b5de9d223cc1c64c6f80389a99cfef51f1 Patch Changed Reference Type https://git.kernel.org/stable/c/c56c96303e9289cc34716b1179597b6f470833de No Types Assigned https://git.kernel.org/stable/c/c56c96303e9289cc34716b1179597b6f470833de Patch Changed Reference Type https://git.kernel.org/stable/c/eb51f639ef3fd5498b7def290ed8681b6aadd9a7 No Types Assigned https://git.kernel.org/stable/c/eb51f639ef3fd5498b7def290ed8681b6aadd9a7 Patch Changed Reference Type https://git.kernel.org/stable/c/f707820c09239d6f67699d9b2ff57863cc7905b0 No Types Assigned https://git.kernel.org/stable/c/f707820c09239d6f67699d9b2ff57863cc7905b0 Patch Added CWE NIST CWE-401 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.11 up to (excluding) 4.14.258 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.15 up to (excluding) 4.19.221 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 up to (excluding) 5.4.165 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 up to (excluding) 5.10.85 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.8 -
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 28, 2024
Action Type Old Value New Value -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
May. 24, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: nfp: Fix memory leak in nfp_cpp_area_cache_add() In line 800 (#1), nfp_cpp_area_alloc() allocates and initializes a CPP area structure. But in line 807 (#2), when the cache is allocated failed, this CPP area structure is not freed, which will result in memory leak. We can fix it by freeing the CPP area when the cache is allocated failed (#2). 792 int nfp_cpp_area_cache_add(struct nfp_cpp *cpp, size_t size) 793 { 794 struct nfp_cpp_area_cache *cache; 795 struct nfp_cpp_area *area; 800 area = nfp_cpp_area_alloc(cpp, NFP_CPP_ID(7, NFP_CPP_ACTION_RW, 0), 801 0, size); // #1: allocates and initializes 802 if (!area) 803 return -ENOMEM; 805 cache = kzalloc(sizeof(*cache), GFP_KERNEL); 806 if (!cache) 807 return -ENOMEM; // #2: missing free 817 return 0; 818 } Added Reference kernel.org https://git.kernel.org/stable/c/3e93abcdcec0436fbf0b6a88ae806902426895a2 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/eb51f639ef3fd5498b7def290ed8681b6aadd9a7 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/2e0e072e62fdaf7816220af08e05c020f0fcb77a [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/484069b5de9d223cc1c64c6f80389a99cfef51f1 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/f707820c09239d6f67699d9b2ff57863cc7905b0 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/c56c96303e9289cc34716b1179597b6f470833de [No types assigned]
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2021-47516
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2021-47516
weaknesses.