The remote host is affected by the vulnerability described in GLSA-200405-06 (libpng denial of service vulnerability)
libpng provides two functions (png_chunk_error and png_chunk_warning) for default error and warning messages handling. These functions do not perform proper bounds checking on the provided message, which is limited to 64 bytes. Programs linked against this library may crash when handling a malicious PNG image.
Impact :
This vulnerability could be used to crash various programs using the libpng library, potentially resulting in a denial of service attack on vulnerable daemon processes.
Workaround :
There is no known workaround at this time. All users are advised to upgrade to the latest available version of libpng.
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200405-06.
#
# The advisory text is Copyright (C) 2001-2015 Gentoo Foundation, Inc.
# and licensed under the Creative Commons - Attribution / Share Alike
# license. See http://creativecommons.org/licenses/by-sa/3.0/
#
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(14492);
script_version("1.13");
script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/06");
script_cve_id("CVE-2004-0421");
script_xref(name:"GLSA", value:"200405-06");
script_name(english:"GLSA-200405-06 : libpng denial of service vulnerability");
script_summary(english:"Checks for updated package(s) in /var/db/pkg");
script_set_attribute(
attribute:"synopsis",
value:
"The remote Gentoo host is missing one or more security-related
patches."
);
script_set_attribute(
attribute:"description",
value:
"The remote host is affected by the vulnerability described in GLSA-200405-06
(libpng denial of service vulnerability)
libpng provides two functions (png_chunk_error and png_chunk_warning) for
default error and warning messages handling. These functions do not perform
proper bounds checking on the provided message, which is limited to 64
bytes. Programs linked against this library may crash when handling a
malicious PNG image.
Impact :
This vulnerability could be used to crash various programs using the libpng
library, potentially resulting in a denial of service attack on vulnerable
daemon processes.
Workaround :
There is no known workaround at this time. All users are advised to upgrade
to the latest available version of libpng."
);
script_set_attribute(
attribute:"see_also",
value:"https://security.gentoo.org/glsa/200405-06"
);
script_set_attribute(
attribute:"solution",
value:
"All users of libpng should upgrade to the latest stable version:
# emerge sync
# emerge -pv '>=media-libs/libpng-1.2.5-r5'
# emerge '>=media-libs/libpng-1.2.5-r5'
You should also run revdep-rebuild to rebuild any packages that depend on
older versions of libpng :
# revdep-rebuild"
);
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:libpng");
script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
script_set_attribute(attribute:"patch_publication_date", value:"2004/05/14");
script_set_attribute(attribute:"plugin_publication_date", value:"2004/08/30");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_copyright(english:"This script is Copyright (C) 2004-2021 Tenable Network Security, Inc.");
script_family(english:"Gentoo Local Security Checks");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");
exit(0);
}
include("audit.inc");
include("global_settings.inc");
include("qpkg.inc");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
flag = 0;
if (qpkg_check(package:"media-libs/libpng", unaffected:make_list("ge 1.2.5-r5"), vulnerable:make_list("le 1.2.5-r4"))) flag++;
if (flag)
{
if (report_verbosity > 0) security_warning(port:0, extra:qpkg_report_get());
else security_warning(0);
exit(0);
}
else
{
tested = qpkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "media-libs/libpng");
}