Skip to main content

Linux CVE-2021-47254

HIGH
Use After Free (CWE-416)
2024-05-21 416baaa9-dc9f-4396-8d5f-8c081fb06d67
7.8
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Analysis Generated
Mar 17, 2026 - 20:45 vuln.today
Patch released
Mar 17, 2026 - 20:45 nvd
Patch available
CVE Published
May 21, 2024 - 15:15 nvd
HIGH 7.8

DescriptionNVD

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.

AnalysisAI

A use-after-free vulnerability exists in the GFS2 filesystem implementation of the Linux kernel, specifically in the gfs2_glock_shrink_scan function. The vulnerability affects multiple Linux kernel versions ranging from 4.4 through 5.13-rc2, allowing local attackers with low privileges to potentially achieve arbitrary code execution, information disclosure, or system crashes. With an EPSS score of only 0.02%, this vulnerability has a very low probability of real-world exploitation despite its high CVSS score of 7.8.

Technical ContextAI

The vulnerability occurs in the Global File System 2 (GFS2) distributed filesystem implementation, specifically in the glock (global lock) management subsystem. The issue stems from improper synchronization when handling the GLF_LRU flag during concurrent operations between gfs2_glock_remove_from_lru() and gfs2_dispose_glock_lru(). The cond_resched_lock() call creates a race window where the glock can be freed while still being referenced on the LRU list. This is classified as CWE-416 (Use After Free), a memory corruption vulnerability class where memory is accessed after being deallocated. Based on the CPE data, the vulnerability affects Linux kernel versions 4.4.x through 4.19.x, 5.4.x through 5.12.x, and 5.13 release candidates 1 and 2.

RemediationAI

Update the Linux kernel to a patched version that includes the fix commits referenced in the advisory. For kernel 5.13, apply commit 1ab19c5de4c537ec0d9b21020395a5b5a6c059b2 or later. For stable branches, apply the appropriate backported fixes: 5.12.x (38ce329534500bf4ae71f81df6a37a406cf187b4), 5.10.x (e87ef30fe73e7e10d2c85bdcc778dcec24dca553), 5.4.x (a61156314b66456ab6a291ed5deba1ebd002ab3c), 4.19.x (86fd5b27db743a0ce0cc245e3a34813b2aa6ec1d), 4.14.x (92869945cc5b78ee8a1ef90336fe070893e3458a), 4.9.x (094bf5670e762afa243d2c41a5c4ab71c7447bf4), and 4.4.x (0364742decb0f02bc183404868b82896f7992595). If immediate patching is not possible, consider disabling or unloading the GFS2 module if not required for production operations.

Share

CVE-2021-47254 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy