[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024041006-CVE-2021-47218-cdc8@gregkh>
Date: Wed, 10 Apr 2024 21:02:11 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2021-47218: selinux: fix NULL-pointer dereference when hashtab allocation fails
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.
The Linux kernel CVE team has assigned CVE-2021-47218 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.8 with commit 03414a49ad5f and fixed in 5.10.82 with commit b17dd53cac76
Issue introduced in 5.8 with commit 03414a49ad5f and fixed in 5.15.5 with commit 83c8ab8503ad
Issue introduced in 5.8 with commit 03414a49ad5f and fixed in 5.16 with commit dc27f3c5d10c
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2021-47218
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
security/selinux/ss/hashtab.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/b17dd53cac769dd13031b0ca34f90cc65e523fab
https://git.kernel.org/stable/c/83c8ab8503adf56bf68dafc7a382f4946c87da79
https://git.kernel.org/stable/c/dc27f3c5d10c58069672215787a96b4fae01818b
Powered by blists - more mailing lists