CVE Vulnerabilities

CVE-2020-28019

Improper Initialization

Published: May 06, 2021 | 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:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

Exim 4 before 4.94.2 has Improper Initialization that can lead to recursion-based stack consumption or other consequences. This occurs because use of certain getc functions is mishandled when a client uses BDAT instead of DATA.

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
EximExim4.88 (including)4.94.2 (excluding)
Exim4Ubuntubionic*
Exim4Ubuntudevel*
Exim4Ubuntuesm-infra/bionic*
Exim4Ubuntuesm-infra/focal*
Exim4Ubuntufocal*
Exim4Ubuntugroovy*
Exim4Ubuntuhirsute*
Exim4Ubuntuimpish*
Exim4Ubuntujammy*
Exim4Ubuntutrusty*
Exim4Ubuntuxenial*

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