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 hashtabinit(), 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 hashtabinit(), hashtabmap() and hashtabdestroy() 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.
[
{
"events": [
{
"introduced": "5.8"
},
{
"fixed": "5.10.82"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.15.5"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc2"
}
]
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47218.json"