CVE Vulnerabilities

CVE-2019-16921

Improper Initialization

Published: Sep 27, 2019 | Modified: Nov 21, 2024
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:P/I:N/A:N
RedHat/V2
RedHat/V3
7.5 IMPORTANT
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

In the Linux kernel before 4.17, hns_roce_alloc_ucontext in drivers/infiniband/hw/hns/hns_roce_main.c does not initialize the resp data structure, which might allow attackers to obtain sensitive information from kernel stack memory, aka CID-df7e40425813.

Weakness

The product does not initialize or incorrectly initializes a resource, which might leave the resource in an unexpected state when it is accessed or used.

Affected Software

NameVendorStart VersionEnd Version
Linux_kernelLinux*4.17 (excluding)
LinuxUbuntuesm-infra-legacy/trusty*
LinuxUbuntuprecise/esm*
LinuxUbuntutrusty*
LinuxUbuntutrusty/esm*
LinuxUbuntuupstream*
Linux-awsUbuntuesm-infra-legacy/trusty*
Linux-awsUbuntutrusty*
Linux-awsUbuntutrusty/esm*
Linux-awsUbuntuupstream*
Linux-aws-hweUbuntuupstream*
Linux-azureUbuntuesm-infra-legacy/trusty*
Linux-azureUbuntutrusty*
Linux-azureUbuntutrusty/esm*
Linux-azureUbuntuupstream*
Linux-azure-edgeUbuntuupstream*
Linux-gcpUbuntuupstream*
Linux-gcp-edgeUbuntuupstream*
Linux-gke-4.15Ubuntuupstream*
Linux-gke-5.0Ubuntuupstream*
Linux-hweUbuntuupstream*
Linux-hwe-edgeUbuntuupstream*
Linux-kvmUbuntuupstream*
Linux-lts-trustyUbuntuprecise/esm*
Linux-lts-trustyUbuntuupstream*
Linux-lts-xenialUbuntuesm-infra-legacy/trusty*
Linux-lts-xenialUbuntutrusty*
Linux-lts-xenialUbuntutrusty/esm*
Linux-lts-xenialUbuntuupstream*
Linux-oemUbuntuupstream*
Linux-oemUbuntuxenial*
Linux-oracleUbuntuupstream*
Linux-raspi2Ubuntuupstream*
Linux-snapdragonUbuntuupstream*

Potential Mitigations

  • Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
  • For example, in Java, if the programmer does not explicitly initialize a variable, then the code could produce a compile-time error (if the variable is local) or automatically initialize the variable to the default value for the variable’s type. In Perl, if explicit initialization is not performed, then a default value of undef is assigned, which is interpreted as 0, false, or an equivalent value depending on the context in which the variable is accessed.

References