Vulnerabilities > CVE-2004-0590

047910
CVSS 10.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
frees-wan
openswan
strongswan
critical
nessus

Summary

FreeS/WAN 1.x and 2.x, and other related products including superfreeswan 1.x, openswan 1.x before 1.0.6, openswan 2.x before 2.1.4, and strongSwan before 2.1.3, allows remote attackers to authenticate using spoofed PKCS#7 certificates in which a self-signed certificate identifies an alternate Certificate Authority (CA) and spoofed issuer and subject.

Nessus

  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-200406-20.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-200406-20 (FreeS/WAN, Openswan, strongSwan: Vulnerabilities in certificate handling) All these IPsec implementations have several bugs in the verify_x509cert() function, which performs certificate validation, that make them vulnerable to malicious PKCS#7 wrapped objects. Impact : With a carefully crafted certificate payload an attacker can successfully authenticate against FreeS/WAN, Openswan, strongSwan or Super-FreeS/WAN, or make the daemon go into an endless loop. Workaround : There is no known workaround at this time. All users are encouraged to upgrade to the latest available version.
    last seen2020-06-01
    modified2020-06-02
    plugin id14531
    published2004-08-30
    reporterThis script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/14531
    titleGLSA-200406-20 : FreeS/WAN, Openswan, strongSwan: Vulnerabilities in certificate handling
    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 200406-20.
    #
    # The advisory text is Copyright (C) 2001-2018 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(14531);
      script_version("1.17");
      script_cvs_date("Date: 2019/08/02 13:32:41");
    
      script_cve_id("CVE-2004-0590");
      script_xref(name:"GLSA", value:"200406-20");
    
      script_name(english:"GLSA-200406-20 : FreeS/WAN, Openswan, strongSwan: Vulnerabilities in certificate handling");
      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-200406-20
    (FreeS/WAN, Openswan, strongSwan: Vulnerabilities in certificate handling)
    
        All these IPsec implementations have several bugs in the
        verify_x509cert() function, which performs certificate validation, that
        make them vulnerable to malicious PKCS#7 wrapped objects.
      
    Impact :
    
        With a carefully crafted certificate payload an attacker can
        successfully authenticate against FreeS/WAN, Openswan, strongSwan or
        Super-FreeS/WAN, or make the daemon go into an endless loop.
      
    Workaround :
    
        There is no known workaround at this time. All users are encouraged to
        upgrade to the latest available version."
      );
      # http://lists.openswan.org/pipermail/dev/2004-June/000370.html
      script_set_attribute(
        attribute:"see_also",
        value:"https://lists.openswan.org/pipermail/dev/2004-June/000370.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security.gentoo.org/glsa/200406-20"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "All FreeS/WAN 1.9x users should upgrade to the latest stable version:
        # emerge sync
        # emerge -pv '=net-misc/freeswan-1.99-r1'
        # emerge '=net-misc/freeswan-1.99-r1'
        All FreeS/WAN 2.x users should upgrade to the latest stable version:
        # emerge sync
        # emerge -pv '>=net-misc/freeswan-2.04-r1'
        # emerge '>=net-misc/freeswan-2.04-r1'
        All Openswan 1.x users should upgrade to the latest stable version:
        # emerge sync
        # emerge -pv '=net-misc/openswan-1.0.6_rc1'
        # emerge '=net-misc/openswan-1.0.6_rc1'
        All Openswan 2.x users should upgrade to the latest stable version:
        # emerge sync
        # emerge -pv '>=net-misc/openswan-2.1.4'
        # emerge '>=net-misc/openswan-2.1.4'
        All strongSwan users should upgrade to the latest stable version:
        # emerge sync
        # emerge -pv '>=net-misc/strongswan-2.1.3'
        # emerge '>=net-misc/strongswan-2.1.3'
        All Super-FreeS/WAN users should migrate to the latest stable version
        of Openswan. Note that Portage will force a move for Super-FreeS/WAN
        users to Openswan.
        # emerge sync
        # emerge -pv '=net-misc/openswan-1.0.6_rc1'
        # emerge '=net-misc/openswan-1.0.6_rc1'"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:freeswan");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:openswan");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:strongswan");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:super-freeswan");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/06/25");
      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-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      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:"net-misc/freeswan", unaffected:make_list("ge 2.04-r1", "eq 1.99-r1"), vulnerable:make_list("lt 2.04-r1"))) flag++;
    if (qpkg_check(package:"net-misc/openswan", unaffected:make_list("ge 2.1.4", "eq 1.0.6_rc1"), vulnerable:make_list("lt 2.1.4"))) flag++;
    if (qpkg_check(package:"net-misc/super-freeswan", unaffected:make_list(), vulnerable:make_list("le 1.99.7.3"))) flag++;
    if (qpkg_check(package:"net-misc/strongswan", unaffected:make_list("ge 2.1.3"), vulnerable:make_list("lt 2.1.3"))) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = qpkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "FreeS/WAN / Openswan / strongSwan");
    }
    
  • NASL familyMandriva Local Security Checks
    NASL idMANDRAKE_MDKSA-2004-070.NASL
    descriptionThomas Walpuski discovered a vulnerability in the X.509 handling of super-freeswan, openswan, strongSwan, and FreeS/WAN with the X.509 patch applied. This vulnerability allows an attacker to make up their own Certificate Authority that can allow them to impersonate the identity of a valid DN. As well, another hole exists in the CA checking code that could create an endless loop in certain instances. Mandrakesoft encourages all users who use FreeS/WAN or super-freeswan to upgrade to the updated packages which are patched to correct these flaws. Update : Due to a build error, the super-freeswan packages did not include the pluto program. The updated packages fix this error.
    last seen2020-06-01
    modified2020-06-02
    plugin id14820
    published2004-07-31
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/14820
    titleMandrake Linux Security Advisory : super-freeswan (MDKSA-2004:070-1)
    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:070. 
    # The text itself is copyright (C) Mandriva S.A.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(14820);
      script_version ("1.23");
      script_cvs_date("Date: 2019/08/02 13:32:47");
    
      script_cve_id("CVE-2004-0590");
      script_xref(name:"MDKSA", value:"2004:070-1");
    
      script_name(english:"Mandrake Linux Security Advisory : super-freeswan (MDKSA-2004:070-1)");
      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:
    "Thomas Walpuski discovered a vulnerability in the X.509 handling of
    super-freeswan, openswan, strongSwan, and FreeS/WAN with the X.509
    patch applied. This vulnerability allows an attacker to make up their
    own Certificate Authority that can allow them to impersonate the
    identity of a valid DN. As well, another hole exists in the CA
    checking code that could create an endless loop in certain instances.
    
    Mandrakesoft encourages all users who use FreeS/WAN or super-freeswan
    to upgrade to the updated packages which are patched to correct these
    flaws.
    
    Update :
    
    Due to a build error, the super-freeswan packages did not include the
    pluto program. The updated packages fix this error."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://lists.openswan.org/pipermail/dev/2004-June/000369.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.openswan.org/support/vuln/CVE-2004-0590/"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Update the affected super-freeswan and / or super-freeswan-doc
    packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:super-freeswan");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:super-freeswan-doc");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/09/20");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/31");
      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:"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:"super-freeswan-1.99.8-8.2.100mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK10.0", reference:"super-freeswan-doc-1.99.8-8.2.100mdk", yank:"mdk")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");