Vulnerabilities > CVE-2004-0968

047910
CVSS 2.1 - LOW
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
PARTIAL
Availability impact
NONE
local
low complexity
gnu
redhat
nessus

Summary

The catchsegv script in glibc 2.3.2 and earlier allows local users to overwrite files via a symlink attack on temporary files.

Nessus

  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-200410-19.NASL
    descriptionThe 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.
    last seen2020-06-01
    modified2020-06-02
    plugin id15538
    published2004-10-21
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/15538
    titleGLSA-200410-19 : glibc: Insecure tempfile handling in catchsegv script
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (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("compat.inc");
    
    if (description)
    {
      script_id(15538);
      script_version("1.16");
      script_cvs_date("Date: 2019/08/02 13:32:41");
    
      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-2019 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");
    }
    
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2005-261.NASL
    descriptionUpdated glibc packages that address several bugs are now available. This update has been rated as having low security impact by the Red Hat Security Response Team. The GNU libc packages (known as glibc) contain the standard C libraries used by applications. Flaws in the catchsegv and glibcbug scripts were discovered. A local user could utilize these flaws to overwrite files via a symlink attack on temporary files. The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2004-0968 and CVE-2004-1382 to these issues. It was discovered that the use of LD_DEBUG and LD_SHOW_AUXV were not restricted for a setuid program. A local user could utilize this flaw to gain information, such as the list of symbols used by the program. The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2004-1453 to this issue. This erratum also addresses the following bugs in the GNU C Library: - Now avoids calling sigaction (SIGPIPE, ...) in syslog implementation - Fixed poll on Itanium - Now allows setenv/putenv in shared library constructors Users of glibc are advised to upgrade to these erratum packages that remove the unnecessary glibcbug script and contain backported patches to correct these other issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id18160
    published2005-04-29
    reporterThis script is Copyright (C) 2005-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/18160
    titleRHEL 2.1 : glibc (RHSA-2005:261)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Red Hat Security Advisory RHSA-2005:261. The text 
    # itself is copyright (C) Red Hat, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(18160);
      script_version ("1.26");
      script_cvs_date("Date: 2019/10/25 13:36:11");
    
      script_cve_id("CVE-2004-0968", "CVE-2004-1382", "CVE-2004-1453");
      script_xref(name:"RHSA", value:"2005:261");
    
      script_name(english:"RHEL 2.1 : glibc (RHSA-2005:261)");
      script_summary(english:"Checks the rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Red Hat host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Updated glibc packages that address several bugs are now available.
    
    This update has been rated as having low security impact by the Red
    Hat Security Response Team.
    
    The GNU libc packages (known as glibc) contain the standard C
    libraries used by applications.
    
    Flaws in the catchsegv and glibcbug scripts were discovered. A local
    user could utilize these flaws to overwrite files via a symlink attack
    on temporary files. The Common Vulnerabilities and Exposures project
    (cve.mitre.org) has assigned the name CVE-2004-0968 and CVE-2004-1382
    to these issues.
    
    It was discovered that the use of LD_DEBUG and LD_SHOW_AUXV were not
    restricted for a setuid program. A local user could utilize this flaw
    to gain information, such as the list of symbols used by the program.
    The Common Vulnerabilities and Exposures project (cve.mitre.org) has
    assigned the name CVE-2004-1453 to this issue.
    
    This erratum also addresses the following bugs in the GNU C Library: -
    Now avoids calling sigaction (SIGPIPE, ...) in syslog implementation -
    Fixed poll on Itanium - Now allows setenv/putenv in shared library
    constructors
    
    Users of glibc are advised to upgrade to these erratum packages that
    remove the unnecessary glibcbug script and contain backported patches
    to correct these other issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2004-0968"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2004-1382"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2004-1453"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/errata/RHSA-2005:261"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      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:redhat:enterprise_linux:glibc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-common");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-profile");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nscd");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:2.1");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2004/12/31");
      script_set_attribute(attribute:"patch_publication_date", value:"2005/04/28");
      script_set_attribute(attribute:"plugin_publication_date", value:"2005/04/29");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2005-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Red Hat Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
    os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
    os_ver = os_ver[1];
    if (! preg(pattern:"^2\.1([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 2.1", "Red Hat " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);
    
    yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
    if (!empty_or_null(yum_updateinfo)) 
    {
      rhsa = "RHSA-2005:261";
      yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
      if (!empty_or_null(yum_report))
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_NOTE,
          extra      : yum_report 
        );
        exit(0);
      }
      else
      {
        audit_message = "affected by Red Hat security advisory " + rhsa;
        audit(AUDIT_OS_NOT, audit_message);
      }
    }
    else
    {
      flag = 0;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"glibc-2.2.4-32.20")) flag++;
      if (rpm_check(release:"RHEL2.1", cpu:"i686", reference:"glibc-2.2.4-32.20")) flag++;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"glibc-common-2.2.4-32.20")) flag++;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"glibc-devel-2.2.4-32.20")) flag++;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"glibc-profile-2.2.4-32.20")) flag++;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"nscd-2.2.4-32.20")) flag++;
    
      if (flag)
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_NOTE,
          extra      : rpm_report_get() + redhat_report_package_caveat()
        );
        exit(0);
      }
      else
      {
        tested = pkg_tests_get();
        if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
        else audit(AUDIT_PACKAGE_NOT_INSTALLED, "glibc / glibc-common / glibc-devel / glibc-profile / nscd");
      }
    }
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-636.NASL
    descriptionSeveral insecure uses of temporary files have been discovered in support scripts in the libc6 package which provides the c library for a GNU/Linux system. Trustix developers found that the catchsegv script uses temporary files insecurely. Openwall developers discovered insecure temporary files in the glibcbug script. These scripts are vulnerable to a symlink attack.
    last seen2020-06-01
    modified2020-06-02
    plugin id16150
    published2005-01-13
    reporterThis script is Copyright (C) 2005-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/16150
    titleDebian DSA-636-1 : glibc - insecure temporary files
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Debian Security Advisory DSA-636. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(16150);
      script_version("1.19");
      script_cvs_date("Date: 2019/08/02 13:32:18");
    
      script_cve_id("CVE-2004-0968", "CVE-2004-1382");
      script_bugtraq_id(11286);
      script_xref(name:"DSA", value:"636");
    
      script_name(english:"Debian DSA-636-1 : glibc - insecure temporary files");
      script_summary(english:"Checks dpkg output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Several insecure uses of temporary files have been discovered in
    support scripts in the libc6 package which provides the c library for
    a GNU/Linux system. Trustix developers found that the catchsegv script
    uses temporary files insecurely. Openwall developers discovered
    insecure temporary files in the glibcbug script. These scripts are
    vulnerable to a symlink attack."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=279680"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=278278"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=205600"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.debian.org/security/2005/dsa-636"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the libc6 package.
    
    For the stable distribution (woody) these problems have been fixed in
    version 2.2.5-11.8."
      );
      script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:N");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:glibc");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2005/01/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2005/01/13");
      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) 2005-2019 Tenable Network Security, Inc.");
      script_family(english:"Debian Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("debian_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
    if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (deb_check(release:"3.0", prefix:"glibc-doc", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6-dbg", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6-dev", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6-dev-sparc64", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6-pic", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6-prof", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6-sparc64", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6.1", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6.1-dbg", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6.1-dev", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6.1-pic", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"libc6.1-prof", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"locales", reference:"2.2.5-11.8")) flag++;
    if (deb_check(release:"3.0", prefix:"nscd", reference:"2.2.5-11.8")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_note(port:0, extra:deb_report_get());
      else security_note(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyMandriva Local Security Checks
    NASL idMANDRAKE_MDKSA-2004-159.NASL
    descriptionThe Trustix developers discovered that the catchsegv and glibcbug utilities, part of the glibc package, created temporary files in an insecure manner. This could allow for a symlink attack to create or overwrite arbitrary files with the privileges of the user invoking the program. The updated packages have been patched to correct this issue.
    last seen2020-06-01
    modified2020-06-02
    plugin id16076
    published2005-01-02
    reporterThis script is Copyright (C) 2005-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/16076
    titleMandrake Linux Security Advisory : glibc (MDKSA-2004:159)
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Mandrake Linux Security Advisory MDKSA-2004:159. 
    # The text itself is copyright (C) Mandriva S.A.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(16076);
      script_version ("1.17");
      script_cvs_date("Date: 2019/08/02 13:32:47");
    
      script_cve_id("CVE-2004-0968", "CVE-2004-1382");
      script_xref(name:"MDKSA", value:"2004:159");
    
      script_name(english:"Mandrake Linux Security Advisory : glibc (MDKSA-2004:159)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Mandrake Linux host is missing one or more security
    updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The Trustix developers discovered that the catchsegv and glibcbug
    utilities, part of the glibc package, created temporary files in an
    insecure manner. This could allow for a symlink attack to create or
    overwrite arbitrary files with the privileges of the user invoking the
    program.
    
    The updated packages have been patched to correct this issue."
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      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:mandriva:linux:glibc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-debug");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-doc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-doc-pdf");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-i18ndata");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-profile");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-static-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:glibc-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:ldconfig");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:nptl-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:nscd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:timezone");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.0");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.1");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/12/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2005/01/02");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2005-2019 Tenable Network Security, Inc.");
      script_family(english:"Mandriva Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/Mandrake/release", "Host/Mandrake/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Mandrake/release")) audit(AUDIT_OS_NOT, "Mandriva / Mandake Linux");
    if (!get_kb_item("Host/Mandrake/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^(amd64|i[3-6]86|x86_64)$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Mandriva / Mandrake Linux", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"MDK10.0", reference:"glibc-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-debug-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-devel-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-doc-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-doc-pdf-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-i18ndata-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-profile-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-static-devel-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"glibc-utils-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"ldconfig-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"nptl-devel-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"nscd-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"timezone-2.3.3-12.8.100mdk", yank:"mdk")) flag++;
    
    if (rpm_check(release:"MDK10.1", reference:"glibc-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-debug-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-devel-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-doc-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-doc-pdf-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-i18ndata-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-profile-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-static-devel-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"glibc-utils-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"ldconfig-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"nptl-devel-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"nscd-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.1", reference:"timezone-2.3.3-23.1.101mdk", yank:"mdk")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_note(port:0, extra:rpm_report_get());
      else security_note(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2004-586.NASL
    descriptionUpdated glibc packages that address several bugs and implement some enhancements are now available. The GNU libc packages (known as glibc) contain the standard C libraries used by applications. This errata fixes several bugs in the GNU C Library. Fixes include (in addition to enclosed Bugzilla entries) : - fixed 32-bit atomic operations on 64-bit powerpc - fixed -m32 -I /usr/include/nptl compilation on AMD64 - NPTL <pthread.h> should now be usable in C++ code or -pedantic -std=c89 C - rwlocks are now available also in the _POSIX_C_SOURCE=200112L namespace - pthread_once is no longer throw(), as the callback routine might throw - pthread_create now correctly returns EAGAIN when thread couldn
    last seen2020-06-01
    modified2020-06-02
    plugin id16018
    published2004-12-21
    reporterThis script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/16018
    titleRHEL 3 : glibc (RHSA-2004:586)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Red Hat Security Advisory RHSA-2004:586. The text 
    # itself is copyright (C) Red Hat, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(16018);
      script_version ("1.27");
      script_cvs_date("Date: 2019/10/25 13:36:10");
    
      script_cve_id("CVE-2004-0968");
      script_xref(name:"RHSA", value:"2004:586");
    
      script_name(english:"RHEL 3 : glibc (RHSA-2004:586)");
      script_summary(english:"Checks the rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Red Hat host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Updated glibc packages that address several bugs and implement some
    enhancements are now available.
    
    The GNU libc packages (known as glibc) contain the standard C
    libraries used by applications.
    
    This errata fixes several bugs in the GNU C Library.
    
    Fixes include (in addition to enclosed Bugzilla entries) :
    
      - fixed 32-bit atomic operations on 64-bit powerpc - fixed
        -m32 -I /usr/include/nptl compilation on AMD64 - NPTL
        <pthread.h> should now be usable in C++ code or
        -pedantic -std=c89 C - rwlocks are now available also in
        the _POSIX_C_SOURCE=200112L namespace - pthread_once is
        no longer throw(), as the callback routine might throw -
        pthread_create now correctly returns EAGAIN when thread
        couldn't be created because of lack of memory - fixed
        NPTL stack freeing in case of pthread_create failure
        with detached thread - fixed pthread_mutex_timedlock on
        i386 and AMD64 - Itanium gp saving fix in linuxthreads -
        fixed s390/s390x unwinding tests done during
        cancellation if stack frames are small - fixed
        fnmatch(3) backslash handling - fixed out of memory
        behaviour of syslog(3) - resolver ID randomization -
        fixed fim (NaN, NaN) - glob(3) fixes for dangling
        symlinks - catchsegv fixed to work with both 32-bit and
        64-bit binaries on x86-64, s390x and ppc - fixed
        reinitialization of _res when using NPTL stack cache -
        updated bug reporting instructions, removed glibcbug
        script - fixed infinite loop in iconv with some options
        - fixed inet_aton return value - CPU friendlier busy
        waiting in linuxthreads on EM64T and IA-64 - avoid
        blocking/masking debug signal in linuxthreads - fixed
        locale program output when neither LC_ALL nor LANG is
        set - fixed using of uninitialized memory in localedef -
        fixed mntent_r escape processing - optimized mtrace
        script - linuxthread_db fixes on ppc64 - cfi
        instructions in x86-64 linuxthreads vfork - some
        _POSIX_C_SOURCE=200112L namespace fixes
    
    All users of glibc should upgrade to these updated packages, which
    resolve these issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2004-0968"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/errata/RHSA-2004:586"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      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:redhat:enterprise_linux:glibc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-common");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-headers");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-profile");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:glibc-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nptl-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nscd");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:3");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2005/02/09");
      script_set_attribute(attribute:"patch_publication_date", value:"2004/12/20");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/12/21");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Red Hat Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
    os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
    os_ver = os_ver[1];
    if (! preg(pattern:"^3([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 3.x", "Red Hat " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);
    
    yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
    if (!empty_or_null(yum_updateinfo)) 
    {
      rhsa = "RHSA-2004:586";
      yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
      if (!empty_or_null(yum_report))
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_NOTE,
          extra      : yum_report 
        );
        exit(0);
      }
      else
      {
        audit_message = "affected by Red Hat security advisory " + rhsa;
        audit(AUDIT_OS_NOT, audit_message);
      }
    }
    else
    {
      flag = 0;
      if (rpm_check(release:"RHEL3", reference:"glibc-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"glibc-common-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"glibc-devel-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"glibc-headers-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"glibc-profile-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"glibc-utils-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"nptl-devel-2.3.2-95.30")) flag++;
      if (rpm_check(release:"RHEL3", reference:"nscd-2.3.2-95.30")) flag++;
    
      if (flag)
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_NOTE,
          extra      : rpm_report_get() + redhat_report_package_caveat()
        );
        exit(0);
      }
      else
      {
        tested = pkg_tests_get();
        if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
        else audit(AUDIT_PACKAGE_NOT_INSTALLED, "glibc / glibc-common / glibc-devel / glibc-headers / glibc-profile / etc");
      }
    }
    
  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-4-1.NASL
    descriptionRecently, Trustix Secure Linux discovered some vulnerabilities in the libc6 package. The utilities
    last seen2020-06-01
    modified2020-06-02
    plugin id20656
    published2006-01-15
    reporterUbuntu Security Notice (C) 2004-2019 Canonical, Inc. / NASL script (C) 2006-2016 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/20656
    titleUbuntu 4.10 : Standard C library script vulnerabilities (USN-4-1)
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Ubuntu Security Notice USN-4-1. The text 
    # itself is copyright (C) Canonical, Inc. See 
    # <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered 
    # trademark of Canonical, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(20656);
      script_version("1.14");
      script_cvs_date("Date: 2019/08/02 13:33:00");
    
      script_cve_id("CVE-2004-0968");
      script_xref(name:"USN", value:"4-1");
    
      script_name(english:"Ubuntu 4.10 : Standard C library script vulnerabilities (USN-4-1)");
      script_summary(english:"Checks dpkg output for updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Ubuntu host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Recently, Trustix Secure Linux discovered some vulnerabilities in the
    libc6 package. The utilities 'catchsegv' and 'glibcbug' created
    temporary files in an insecure way, which allowed a symlink attack to
    create or overwrite arbitrary files with the privileges of the user
    invoking the program.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the Ubuntu security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      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:canonical:ubuntu_linux:glibc-doc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libc6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libc6-dbg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libc6-dev");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libc6-i686");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libc6-pic");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libc6-prof");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:locales");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:nscd");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:4.10");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/10/28");
      script_set_attribute(attribute:"plugin_publication_date", value:"2006/01/15");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"Ubuntu Security Notice (C) 2004-2019 Canonical, Inc. / NASL script (C) 2006-2016 Tenable Network Security, Inc.");
      script_family(english:"Ubuntu Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("ubuntu.inc");
    include("misc_func.inc");
    
    if ( ! get_kb_item("Host/local_checks_enabled") ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/Ubuntu/release");
    if ( isnull(release) ) audit(AUDIT_OS_NOT, "Ubuntu");
    release = chomp(release);
    if (! ereg(pattern:"^(4\.10)$", string:release)) audit(AUDIT_OS_NOT, "Ubuntu 4.10", "Ubuntu " + release);
    if ( ! get_kb_item("Host/Debian/dpkg-l") ) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Ubuntu", cpu);
    
    flag = 0;
    
    if (ubuntu_check(osver:"4.10", pkgname:"glibc-doc", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"libc6", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"libc6-dbg", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"libc6-dev", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"libc6-i686", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"libc6-pic", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"libc6-prof", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"locales", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    if (ubuntu_check(osver:"4.10", pkgname:"nscd", pkgver:"2.3.2.ds1-13ubuntu2.2")) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_NOTE,
        extra      : ubuntu_report_get()
      );
      exit(0);
    }
    else
    {
      tested = ubuntu_pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "glibc-doc / libc6 / libc6-dbg / libc6-dev / libc6-i686 / libc6-pic / etc");
    }
    

Oval

accepted2013-04-29T04:19:59.134-04:00
classvulnerability
contributors
  • nameAharon Chernin
    organizationSCAP.com, LLC
  • nameDragos Prisaca
    organizationG2, Inc.
definition_extensions
  • commentThe operating system installed on the system is Red Hat Enterprise Linux 3
    ovaloval:org.mitre.oval:def:11782
  • commentCentOS Linux 3.x
    ovaloval:org.mitre.oval:def:16651
descriptionThe catchsegv script in glibc 2.3.2 and earlier allows local users to overwrite files via a symlink attack on temporary files.
familyunix
idoval:org.mitre.oval:def:9523
statusaccepted
submitted2010-07-09T03:56:16-04:00
titleThe catchsegv script in glibc 2.3.2 and earlier allows local users to overwrite files via a symlink attack on temporary files.
version26

Redhat

advisories
  • rhsa
    idRHSA-2004:586
  • rhsa
    idRHSA-2005:261
rpms
  • glibc-0:2.3.2-95.30
  • glibc-common-0:2.3.2-95.30
  • glibc-debuginfo-0:2.3.2-95.30
  • glibc-debuginfo-common-0:2.3.2-95.30
  • glibc-devel-0:2.3.2-95.30
  • glibc-headers-0:2.3.2-95.30
  • glibc-profile-0:2.3.2-95.30
  • glibc-utils-0:2.3.2-95.30
  • nptl-devel-0:2.3.2-95.30
  • nscd-0:2.3.2-95.30