Skip to main content

CVE-2021-47218: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2021-47218cvecve-2021-47218
Published: Wed Apr 10 2024 (04/10/2024, 19:01:57 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: selinux: fix NULL-pointer dereference when hashtab allocation fails When the hash table slot array allocation fails in hashtab_init(), h->size is left initialized with a non-zero value, but the h->htable pointer is NULL. This may then cause a NULL pointer dereference, since the policydb code relies on the assumption that even after a failed hashtab_init(), hashtab_map() and hashtab_destroy() can be safely called on it. Yet, these detect an empty hashtab only by looking at the size. Fix this by making sure that hashtab_init() always leaves behind a valid empty hashtab when the allocation fails.

AI-Powered Analysis

AILast updated: 06/26/2025, 16:35:32 UTC

Technical Analysis

CVE-2021-47218 is a vulnerability identified in the Linux kernel's SELinux (Security-Enhanced Linux) subsystem. The issue arises during the initialization of a hash table used internally by SELinux's policy database. Specifically, when the allocation of the hash table slot array fails in the hashtab_init() function, the size field of the hash table structure is incorrectly left with a non-zero value, while the pointer to the hash table array (h->htable) remains NULL. This inconsistent state violates the assumption made by subsequent functions (hashtab_map() and hashtab_destroy()) that a non-zero size always corresponds to a valid hash table pointer. As a result, these functions may attempt to dereference a NULL pointer, leading to a NULL pointer dereference vulnerability. This can cause a kernel crash (denial of service) or potentially be leveraged for further exploitation depending on the context. The fix ensures that if the allocation fails, hashtab_init() leaves behind a valid empty hash table structure with a zero size and a NULL pointer, preventing unsafe dereferencing. This vulnerability is rooted in improper error handling and state management within the SELinux policy database code of the Linux kernel. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.

Potential Impact

For European organizations relying on Linux systems with SELinux enabled, this vulnerability could lead to system instability or denial of service due to kernel crashes triggered by the NULL pointer dereference. While SELinux is primarily used in high-security environments and many enterprise Linux distributions in Europe enable it by default or as an option, the impact depends on whether the vulnerable kernel versions are in use and whether the SELinux policy database is actively managed. A denial of service at the kernel level can disrupt critical services, affecting availability and potentially causing operational downtime. Although this vulnerability does not directly expose confidentiality or integrity risks, the resulting system crashes could be exploited as part of a broader attack chain. European organizations in sectors such as finance, government, telecommunications, and critical infrastructure, which often deploy SELinux for enhanced security, may be particularly concerned. The absence of known exploits reduces immediate risk, but unpatched systems remain vulnerable to accidental or targeted crashes.

Mitigation Recommendations

Organizations should promptly apply the official Linux kernel patches that address this issue once available from their distribution vendors. Since the vulnerability stems from improper error handling in SELinux's hash table initialization, updating to a fixed kernel version is the most effective mitigation. Additionally, organizations should: 1) Audit their Linux systems to identify SELinux-enabled hosts running vulnerable kernel versions. 2) Monitor kernel logs for signs of NULL pointer dereference crashes or unusual SELinux policy database errors. 3) Implement robust kernel crash recovery and system monitoring to minimize downtime in case of exploitation. 4) Consider temporarily disabling SELinux only if absolutely necessary and with understanding of the security trade-offs, as this reduces the attack surface but also security enforcement. 5) Engage with Linux distribution security advisories and subscribe to vulnerability notifications to stay informed about patch releases and related issues. 6) For environments using custom SELinux policies or kernel builds, ensure thorough testing of updates to avoid regressions.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-04-10T18:59:19.528Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9835c4522896dcbea0bb

Added to database: 5/21/2025, 9:09:09 AM

Last enriched: 6/26/2025, 4:35:32 PM

Last updated: 8/21/2025, 9:43:25 AM

Views: 13

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats