CVE Vulnerabilities

CVE-2020-24996

Improper Initialization

Published: Sep 03, 2020 | Modified: Nov 21, 2024
CVSS 3.x
7.8
HIGH
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.x
6.8 MEDIUM
AV:N/AC:M/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

There is an invalid memory access in the function TextString::~TextString() located in Catalog.cc in Xpdf 4.0.2. It can be triggered by (for example) sending a crafted pdf file to the pdftohtml binary, which allows a remote attacker to cause a Denial of Service (Segmentation fault) or possibly have unspecified other impact.

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
XpdfXpdfreader4.0.2 (including)4.0.2 (including)
IpeUbuntubionic*
IpeUbuntufocal*
IpeUbuntugroovy*
IpeUbuntuhirsute*
IpeUbuntuimpish*
IpeUbuntukinetic*
IpeUbuntulunar*
IpeUbuntumantic*
IpeUbuntuoracular*
IpeUbuntuplucky*
IpeUbuntutrusty*
IpeUbuntuxenial*
PopplerUbuntutrusty*
XpdfUbuntuhirsute*
XpdfUbuntuimpish*
XpdfUbuntutrusty*
XpdfUbuntuxenial*

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