CVE-2021-47254
Linux Kernel gfs2 Use-after-free
Description
In the Linux kernel, the following vulnerability has been resolved: gfs2: Fix use-after-free in gfs2_glock_shrink_scan The GLF_LRU flag is checked under lru_lock in gfs2_glock_remove_from_lru() to remove the glock from the lru list in __gfs2_glock_put(). On the shrink scan path, the same flag is cleared under lru_lock but because of cond_resched_lock(&lru_lock) in gfs2_dispose_glock_lru(), progress on the put side can be made without deleting the glock from the lru list. Keep GLF_LRU across the race window opened by cond_resched_lock(&lru_lock) to ensure correct behavior on both sides - clear GLF_LRU after list_del under lru_lock.
INFO
Published Date :
May 21, 2024, 3:15 p.m.
Last Modified :
Dec. 30, 2024, 7:50 p.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
5.9
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-47254
.
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-47254
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2021-47254
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.
-
Initial Analysis by [email protected]
Dec. 30, 2024
Action Type Old Value New Value Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Added CWE NIST CWE-416 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions up to (excluding) 4.4.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.5 up to (excluding) 4.9.274 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.10 up to (excluding) 4.14.238 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.15 up to (excluding) 4.19.196 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 up to (excluding) 5.4.127 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 up to (excluding) 5.10.45 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.12.12 *cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:* Changed Reference Type https://git.kernel.org/stable/c/0364742decb0f02bc183404868b82896f7992595 No Types Assigned https://git.kernel.org/stable/c/0364742decb0f02bc183404868b82896f7992595 Patch Changed Reference Type https://git.kernel.org/stable/c/0364742decb0f02bc183404868b82896f7992595 No Types Assigned https://git.kernel.org/stable/c/0364742decb0f02bc183404868b82896f7992595 Patch Changed Reference Type https://git.kernel.org/stable/c/094bf5670e762afa243d2c41a5c4ab71c7447bf4 No Types Assigned https://git.kernel.org/stable/c/094bf5670e762afa243d2c41a5c4ab71c7447bf4 Patch Changed Reference Type https://git.kernel.org/stable/c/094bf5670e762afa243d2c41a5c4ab71c7447bf4 No Types Assigned https://git.kernel.org/stable/c/094bf5670e762afa243d2c41a5c4ab71c7447bf4 Patch Changed Reference Type https://git.kernel.org/stable/c/1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 No Types Assigned https://git.kernel.org/stable/c/1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 Patch Changed Reference Type https://git.kernel.org/stable/c/1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 No Types Assigned https://git.kernel.org/stable/c/1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 Patch Changed Reference Type https://git.kernel.org/stable/c/38ce329534500bf4ae71f81df6a37a406cf187b4 No Types Assigned https://git.kernel.org/stable/c/38ce329534500bf4ae71f81df6a37a406cf187b4 Patch Changed Reference Type https://git.kernel.org/stable/c/38ce329534500bf4ae71f81df6a37a406cf187b4 No Types Assigned https://git.kernel.org/stable/c/38ce329534500bf4ae71f81df6a37a406cf187b4 Patch Changed Reference Type https://git.kernel.org/stable/c/86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d No Types Assigned https://git.kernel.org/stable/c/86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d Patch Changed Reference Type https://git.kernel.org/stable/c/86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d No Types Assigned https://git.kernel.org/stable/c/86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d Patch Changed Reference Type https://git.kernel.org/stable/c/92869945cc5b78ee8a1ef90336fe070893e3458a No Types Assigned https://git.kernel.org/stable/c/92869945cc5b78ee8a1ef90336fe070893e3458a Patch Changed Reference Type https://git.kernel.org/stable/c/92869945cc5b78ee8a1ef90336fe070893e3458a No Types Assigned https://git.kernel.org/stable/c/92869945cc5b78ee8a1ef90336fe070893e3458a Patch Changed Reference Type https://git.kernel.org/stable/c/a61156314b66456ab6a291ed5deba1ebd002ab3c No Types Assigned https://git.kernel.org/stable/c/a61156314b66456ab6a291ed5deba1ebd002ab3c Patch Changed Reference Type https://git.kernel.org/stable/c/a61156314b66456ab6a291ed5deba1ebd002ab3c No Types Assigned https://git.kernel.org/stable/c/a61156314b66456ab6a291ed5deba1ebd002ab3c Patch Changed Reference Type https://git.kernel.org/stable/c/e87ef30fe73e7e10d2c85bdcc778dcec24dca553 No Types Assigned https://git.kernel.org/stable/c/e87ef30fe73e7e10d2c85bdcc778dcec24dca553 Patch Changed Reference Type https://git.kernel.org/stable/c/e87ef30fe73e7e10d2c85bdcc778dcec24dca553 No Types Assigned https://git.kernel.org/stable/c/e87ef30fe73e7e10d2c85bdcc778dcec24dca553 Patch -
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/0364742decb0f02bc183404868b82896f7992595 Added Reference https://git.kernel.org/stable/c/094bf5670e762afa243d2c41a5c4ab71c7447bf4 Added Reference https://git.kernel.org/stable/c/1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 Added Reference https://git.kernel.org/stable/c/38ce329534500bf4ae71f81df6a37a406cf187b4 Added Reference https://git.kernel.org/stable/c/86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d Added Reference https://git.kernel.org/stable/c/92869945cc5b78ee8a1ef90336fe070893e3458a Added Reference https://git.kernel.org/stable/c/a61156314b66456ab6a291ed5deba1ebd002ab3c Added Reference https://git.kernel.org/stable/c/e87ef30fe73e7e10d2c85bdcc778dcec24dca553 -
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. 21, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: gfs2: Fix use-after-free in gfs2_glock_shrink_scan The GLF_LRU flag is checked under lru_lock in gfs2_glock_remove_from_lru() to remove the glock from the lru list in __gfs2_glock_put(). On the shrink scan path, the same flag is cleared under lru_lock but because of cond_resched_lock(&lru_lock) in gfs2_dispose_glock_lru(), progress on the put side can be made without deleting the glock from the lru list. Keep GLF_LRU across the race window opened by cond_resched_lock(&lru_lock) to ensure correct behavior on both sides - clear GLF_LRU after list_del under lru_lock. Added Reference kernel.org https://git.kernel.org/stable/c/38ce329534500bf4ae71f81df6a37a406cf187b4 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/92869945cc5b78ee8a1ef90336fe070893e3458a [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/0364742decb0f02bc183404868b82896f7992595 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/094bf5670e762afa243d2c41a5c4ab71c7447bf4 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/a61156314b66456ab6a291ed5deba1ebd002ab3c [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/e87ef30fe73e7e10d2c85bdcc778dcec24dca553 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 [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-47254
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-47254
weaknesses.