The remote host is affected by the vulnerability described in GLSA-200410-19 (glibc: Insecure tempfile handling in catchsegv script)
The catchsegv script creates temporary files in world-writeable directories with predictable names.
Impact :
A local attacker could create symbolic links in the temporary files directory, pointing to a valid file somewhere on the filesystem. When catchsegv script is called, this would result in the file being overwritten with the rights of the user running the utility, which could be the root user.
Workaround :
There is no known workaround at this time.
#%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 200410-19.
#
# 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(15538);
script_version("1.17");
script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/06");
script_cve_id("CVE-2004-0968");
script_xref(name:"GLSA", value:"200410-19");
script_name(english:"GLSA-200410-19 : glibc: Insecure tempfile handling in catchsegv script");
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-200410-19
(glibc: Insecure tempfile handling in catchsegv script)
The catchsegv script creates temporary files in world-writeable directories
with predictable names.
Impact :
A local attacker could create symbolic links in the temporary files
directory, pointing to a valid file somewhere on the filesystem. When
catchsegv script is called, this would result in the file being overwritten
with the rights of the user running the utility, which could be the root
user.
Workaround :
There is no known workaround at this time."
);
script_set_attribute(
attribute:"see_also",
value:"https://security.gentoo.org/glsa/200410-19"
);
script_set_attribute(
attribute:"solution",
value:
"All glibc users should upgrade to the latest version:
# emerge sync
# emerge -pv sys-libs/glibc
# emerge sys-libs/glibc"
);
script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:N");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:glibc");
script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
script_set_attribute(attribute:"patch_publication_date", value:"2004/10/21");
script_set_attribute(attribute:"plugin_publication_date", value:"2004/10/21");
script_set_attribute(attribute:"vuln_publication_date", value:"2004/10/22");
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:"sys-libs/glibc", unaffected:make_list("rge 2.2.5-r9", "rge 2.3.2-r12", "rge 2.3.3.20040420-r2", "rge 2.3.4.20040619-r2", "ge 2.3.4.20040808-r1"), vulnerable:make_list("le 2.3.4.20040808"))) flag++;
if (flag)
{
if (report_verbosity > 0) security_note(port:0, extra:qpkg_report_get());
else security_note(0);
exit(0);
}
else
{
tested = qpkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "glibc");
}