Vulnerabilities > CVE-2003-0356 - Off-by-one Error vulnerability in Ethereal 0.8.13/0.9.11/0.9.3

047910
CVSS 9.8 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
ethereal
CWE-193
critical
nessus

Summary

Multiple off-by-one vulnerabilities in Ethereal 0.9.11 and earlier allow remote attackers to cause a denial of service and possibly execute arbitrary code via the (1) AIM, (2) GIOP Gryphon, (3) OSPF, (4) PPTP, (5) Quake, (6) Quake2, (7) Quake3, (8) Rsync, (9) SMB, (10) SMPP, and (11) TSP dissectors, which do not properly use the tvb_get_nstringz and tvb_get_nstringz0 functions.

Vulnerable Configurations

Part Description Count
Application
Ethereal
4

Common Weakness Enumeration (CWE)

Nessus

  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-313.NASL
    descriptionTimo Sirainen discovered several vulnerabilities in ethereal, a network traffic analyzer. These include one-byte buffer overflows in the AIM, GIOP Gryphon, OSPF, PPTP, Quake, Quake2, Quake3, Rsync, SMB, SMPP, and TSP dissectors, and integer overflows in the Mount and PPP dissectors.
    last seen2020-06-01
    modified2020-06-02
    plugin id15150
    published2004-09-29
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/15150
    titleDebian DSA-313-1 : ethereal - buffer overflows, integer overflows
    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-313. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(15150);
      script_version("1.22");
      script_cvs_date("Date: 2019/08/02 13:32:17");
    
      script_cve_id("CVE-2003-0356", "CVE-2003-0357");
      script_bugtraq_id(7493, 7494, 7495);
      script_xref(name:"DSA", value:"313");
    
      script_name(english:"Debian DSA-313-1 : ethereal - buffer overflows, integer overflows");
      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:
    "Timo Sirainen discovered several vulnerabilities in ethereal, a
    network traffic analyzer. These include one-byte buffer overflows in
    the AIM, GIOP Gryphon, OSPF, PPTP, Quake, Quake2, Quake3, Rsync, SMB,
    SMPP, and TSP dissectors, and integer overflows in the Mount and PPP
    dissectors."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.debian.org/security/2003/dsa-313"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "For the stable distribution (woody) these problems have been fixed in
    version 0.9.4-1woody4.
    
    The old stable distribution (potato) does not appear to contain these
    vulnerabilities.
    
    We recommend that you update your ethereal package."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      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:ethereal");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2003/06/11");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/09/29");
      script_set_attribute(attribute:"vuln_publication_date", value:"2003/05/01");
      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:"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:"ethereal", reference:"0.9.4-1woody4")) flag++;
    if (deb_check(release:"3.0", prefix:"ethereal-common", reference:"0.9.4-1woody4")) flag++;
    if (deb_check(release:"3.0", prefix:"ethereal-dev", reference:"0.9.4-1woody4")) flag++;
    if (deb_check(release:"3.0", prefix:"tethereal", reference:"0.9.4-1woody4")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyMandriva Local Security Checks
    NASL idMANDRAKE_MDKSA-2003-067.NASL
    descriptionSeveral vulnerabilities in ethereal were discovered by Timo Sirainen. Integer overflows were found in the Mount and PPP dissectors, as well as one-byte buffer overflows in the AIM, GIOP Gryphon, OSPF, PPTP, Quake, Quake2, Quake3, Rsync, SMB, SMPP, and TSP dissectors. These vulnerabilities were corrected in ethereal 0.9.12.
    last seen2020-06-01
    modified2020-06-02
    plugin id14050
    published2004-07-31
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/14050
    titleMandrake Linux Security Advisory : ethereal (MDKSA-2003:067)
    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-2003:067. 
    # The text itself is copyright (C) Mandriva S.A.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(14050);
      script_version ("1.21");
      script_cvs_date("Date: 2019/08/02 13:32:46");
    
      script_cve_id("CVE-2003-0356", "CVE-2003-0357");
      script_xref(name:"MDKSA", value:"2003:067");
    
      script_name(english:"Mandrake Linux Security Advisory : ethereal (MDKSA-2003:067)");
      script_summary(english:"Checks rpm output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Mandrake Linux host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Several vulnerabilities in ethereal were discovered by Timo Sirainen.
    Integer overflows were found in the Mount and PPP dissectors, as well
    as one-byte buffer overflows in the AIM, GIOP Gryphon, OSPF, PPTP,
    Quake, Quake2, Quake3, Rsync, SMB, SMPP, and TSP dissectors. These
    vulnerabilities were corrected in ethereal 0.9.12."
      );
      # http://www.ethereal.com/appnotes/enpa-sa-00009.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://ethereal.archive.sunet.se/appnotes/enpa-sa-00009.html"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected ethereal package."
      );
      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:ethereal");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:9.1");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2003/06/16");
      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:"MDK9.1", cpu:"i386", reference:"ethereal-0.9.12-1.2mdk", 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");
    
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2003-077.NASL
    descriptionUpdated Ethereal packages fixing a number of remotely exploitable security issues are now available. Ethereal is a package designed for monitoring network traffic. A number of security issues affect Ethereal. By exploiting these issues it may be possible to make Ethereal crash or run arbitrary code by injecting a purposefully malformed packet onto the wire, or by convincing someone to read a malformed packet trace file. Ethereal 0.9.9 and earlier allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via carefully crafted SOCKS packets. The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2003-0081 to this issue. A heap-based buffer overflow exists in the NTLMSSP code for Ethereal 0.9.9 and earlier. (CVE-2003-0159) Multiple off-by-one vulnerabilities exist in Ethereal 0.9.11 and earlier in the AIM, GIOP Gryphon, OSPF, PPTP, Quake, Quake2, Quake3, Rsync, SMB, SMPP, and TSP dissectors, which do not properly use the tvb_get_nstringz and tvb_get_nstringz0 functions. (CVE-2003-0356) Multiple integer overflow vulnerabilities exist in Ethereal 0.9.11 and earlier in the Mount and PPP dissectors. (CVE-2003-0357) A vulnerability in the DCERPC dissector exists in Ethereal 0.9.12 and earlier, allowing remote attackers to cause a denial of service (memory consumption) via a certain NDR string. (CVE-2003-0428) A possible buffer overflow vulnerability exists in Ethereal 0.9.12 and earlier, caused by invalid IPv4 or IPv6 prefix lengths and possibly triggering a buffer overflow. (CVE-2003-0429) A vulnerability exists in Ethereal 0.9.12 and earlier, allowing remote attackers to cause a denial of service (crash) via an invalid ASN.1 value. (CVE-2003-0430) The tvb_get_nstringz0 function in Ethereal 0.9.12 and earlier does not properly handle a zero-length buffer size. (CVE-2003-0431) Ethereal 0.9.12 and earlier does not handle certain strings properly in the BGP, WTP, DNS, 802.11, ISAKMP, WSP, CLNP, ISIS, and RMI dissectors. (CVE-2003-0432) Users of Ethereal should update to these erratum packages containing Ethereal version 0.9.13, which are not vulnerable to these issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id12373
    published2004-07-06
    reporterThis script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/12373
    titleRHEL 2.1 : ethereal (RHSA-2003:077)
    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-2003:077. The text 
    # itself is copyright (C) Red Hat, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(12373);
      script_version ("1.28");
      script_cvs_date("Date: 2019/10/25 13:36:10");
    
      script_cve_id("CVE-2003-0081", "CVE-2003-0159", "CVE-2003-0356", "CVE-2003-0357", "CVE-2003-0428", "CVE-2003-0429", "CVE-2003-0430", "CVE-2003-0431", "CVE-2003-0432");
      script_xref(name:"RHSA", value:"2003:077");
    
      script_name(english:"RHEL 2.1 : ethereal (RHSA-2003:077)");
      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 Ethereal packages fixing a number of remotely exploitable
    security issues are now available.
    
    Ethereal is a package designed for monitoring network traffic.
    
    A number of security issues affect Ethereal. By exploiting these
    issues it may be possible to make Ethereal crash or run arbitrary code
    by injecting a purposefully malformed packet onto the wire, or by
    convincing someone to read a malformed packet trace file.
    
    Ethereal 0.9.9 and earlier allows remote attackers to cause a denial
    of service (crash) and possibly execute arbitrary code via carefully
    crafted SOCKS packets. The Common Vulnerabilities and Exposures
    project (cve.mitre.org) has assigned the name CVE-2003-0081 to this
    issue.
    
    A heap-based buffer overflow exists in the NTLMSSP code for Ethereal
    0.9.9 and earlier. (CVE-2003-0159)
    
    Multiple off-by-one vulnerabilities exist in Ethereal 0.9.11 and
    earlier in the AIM, GIOP Gryphon, OSPF, PPTP, Quake, Quake2, Quake3,
    Rsync, SMB, SMPP, and TSP dissectors, which do not properly use the
    tvb_get_nstringz and tvb_get_nstringz0 functions. (CVE-2003-0356)
    
    Multiple integer overflow vulnerabilities exist in Ethereal 0.9.11 and
    earlier in the Mount and PPP dissectors. (CVE-2003-0357)
    
    A vulnerability in the DCERPC dissector exists in Ethereal 0.9.12 and
    earlier, allowing remote attackers to cause a denial of service
    (memory consumption) via a certain NDR string. (CVE-2003-0428)
    
    A possible buffer overflow vulnerability exists in Ethereal 0.9.12 and
    earlier, caused by invalid IPv4 or IPv6 prefix lengths and possibly
    triggering a buffer overflow. (CVE-2003-0429)
    
    A vulnerability exists in Ethereal 0.9.12 and earlier, allowing remote
    attackers to cause a denial of service (crash) via an invalid ASN.1
    value. (CVE-2003-0430)
    
    The tvb_get_nstringz0 function in Ethereal 0.9.12 and earlier does not
    properly handle a zero-length buffer size. (CVE-2003-0431)
    
    Ethereal 0.9.12 and earlier does not handle certain strings properly
    in the BGP, WTP, DNS, 802.11, ISAKMP, WSP, CLNP, ISIS, and RMI
    dissectors. (CVE-2003-0432)
    
    Users of Ethereal should update to these erratum packages containing
    Ethereal version 0.9.13, which are not vulnerable to these issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0081"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0159"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0356"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0357"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0428"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0429"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0430"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0431"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2003-0432"
      );
      # http://www.ethereal.com/appnotes/enpa-sa-00008.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://ethereal.archive.sunet.se/appnotes/enpa-sa-00008.html"
      );
      # http://www.ethereal.com/appnotes/enpa-sa-00009.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://ethereal.archive.sunet.se/appnotes/enpa-sa-00009.html"
      );
      # http://www.ethereal.com/appnotes/enpa-sa-00010.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://ethereal.archive.sunet.se/appnotes/enpa-sa-00010.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/errata/RHSA-2003:077"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected ethereal and / or ethereal-gnome 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:redhat:enterprise_linux:ethereal");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:ethereal-gnome");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:2.1");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2003/03/18");
      script_set_attribute(attribute:"patch_publication_date", value:"2003/07/08");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/06");
      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:"^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);
    if (cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i386", cpu);
    
    yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
    if (!empty_or_null(yum_updateinfo)) 
    {
      rhsa = "RHSA-2003:077";
      yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
      if (!empty_or_null(yum_report))
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_HOLE,
          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:"ethereal-0.9.13-1.AS21.1")) flag++;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"ethereal-gnome-0.9.13-1.AS21.1")) flag++;
    
      if (flag)
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_HOLE,
          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, "ethereal / ethereal-gnome");
      }
    }
    

Oval

accepted2007-04-25T19:52:39.216-04:00
classvulnerability
contributors
  • nameJay Beale
    organizationBastille Linux
  • nameJay Beale
    organizationBastille Linux
  • nameThomas R. Jones
    organizationMaitreya Security
descriptionMultiple off-by-one vulnerabilities in Ethereal 0.9.11 and earlier allow remote attackers to cause a denial of service and possibly execute arbitrary code via the (1) AIM, (2) GIOP Gryphon, (3) OSPF, (4) PPTP, (5) Quake, (6) Quake2, (7) Quake3, (8) Rsync, (9) SMB, (10) SMPP, and (11) TSP dissectors, which do not properly use the tvb_get_nstringz and tvb_get_nstringz0 functions.
familyunix
idoval:org.mitre.oval:def:69
statusaccepted
submitted2003-08-29T12:00:00.000-04:00
titleOff-by-one Vulnerabilities in Ethereal 0.9.11
version38

Redhat

advisories
rhsa
idRHSA-2003:077