Vulnerabilities > CVE-2017-13767 - Infinite Loop vulnerability in Wireshark

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
wireshark
CWE-835
nessus

Summary

In Wireshark 2.4.0, 2.2.0 to 2.2.8, and 2.0.0 to 2.0.14, the MSDP dissector could go into an infinite loop. This was addressed in epan/dissectors/packet-msdp.c by adding length validation.

Nessus

  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2017-995.NASL
    descriptionThis update for wireshark to version 2.2.9 fixes the following issues : Minor vulnerabilities that could be used to trigger dissector crashes, infinite loops, or cause excessive use of memory resources by making Wireshark read specially crafted packages from the network or a capture file : - CVE-2017-13767: MSDP dissector infinite loop (boo#1056248) - CVE-2017-13766: Profinet I/O buffer overrun (boo#1056249) - CVE-2017-13765: IrCOMM dissector buffer overrun (boo#1056251) - Further bug fixes and updated protocol support as listed in: https://www.wireshark.org/docs/relnotes/wireshark-2.2.9. html
    last seen2020-06-05
    modified2017-09-05
    plugin id102948
    published2017-09-05
    reporterThis script is Copyright (C) 2017-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/102948
    titleopenSUSE Security Update : wireshark (openSUSE-2017-995)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2017-995.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(102948);
      script_version("3.5");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2017-13765", "CVE-2017-13766", "CVE-2017-13767");
    
      script_name(english:"openSUSE Security Update : wireshark (openSUSE-2017-995)");
      script_summary(english:"Check for the openSUSE-2017-995 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for wireshark to version 2.2.9 fixes the following 
    issues :
    
    Minor vulnerabilities that could be used to trigger dissector crashes,
    infinite loops, or cause excessive use of memory resources by making
    Wireshark read specially crafted packages from the network or a
    capture file :
    
      - CVE-2017-13767: MSDP dissector infinite loop
        (boo#1056248)
    
      - CVE-2017-13766: Profinet I/O buffer overrun
        (boo#1056249)
    
      - CVE-2017-13765: IrCOMM dissector buffer overrun
        (boo#1056251)
    
      - Further bug fixes and updated protocol support as listed
        in:
        https://www.wireshark.org/docs/relnotes/wireshark-2.2.9.
        html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1056248"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1056249"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1056251"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.wireshark.org/docs/relnotes/wireshark-2.2.9.html"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected wireshark packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-ui-gtk");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-ui-gtk-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-ui-qt");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:wireshark-ui-qt-debuginfo");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.2");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/09/04");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/09/05");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2020 Tenable Network Security, Inc.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      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);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE42\.2|SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.2 / 42.3", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(x86_64)$") audit(AUDIT_ARCH_NOT, "x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-debuginfo-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-debugsource-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-devel-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-ui-gtk-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-ui-gtk-debuginfo-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-ui-qt-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"wireshark-ui-qt-debuginfo-2.2.9-14.13.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-debuginfo-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-debugsource-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-devel-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-ui-gtk-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-ui-gtk-debuginfo-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-ui-qt-2.2.9-21.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"wireshark-ui-qt-debuginfo-2.2.9-21.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "wireshark / wireshark-debuginfo / wireshark-debugsource / etc");
    }
    
  • NASL familyWindows
    NASL idWIRESHARK_2_0_15.NASL
    descriptionThe version of Wireshark installed on the remote Windows host is 2.0.x prior to 2.0.15. It is, therefore, affected by multiple denial of service vulnerabilities in the IrCOMM and MSDP dissectors. An unauthenticated, remote attacker can exploit this by injecting a malformed packet onto the wire or by convincing someone to read a malformed packet trace file. Note that Nessus has not tested for these issues but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id102919
    published2017-09-01
    reporterThis script is Copyright (C) 2017-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/102919
    titleWireshark 2.0.x < 2.0.15 Multiple DoS
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(102919);
      script_version("1.5");
      script_cvs_date("Date: 2018/08/07 16:46:51");
    
      script_cve_id("CVE-2017-13765", "CVE-2017-13767");
    
      script_name(english:"Wireshark 2.0.x < 2.0.15 Multiple DoS");
      script_summary(english:"Checks the version of Wireshark.");
    
      script_set_attribute(attribute:"synopsis", value:
    "An application installed on the remote Windows host is affected by
    multiple denial of service vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Wireshark installed on the remote Windows host is 2.0.x
    prior to 2.0.15. It is, therefore, affected by multiple denial of
    service vulnerabilities in the IrCOMM and MSDP dissectors. An
    unauthenticated, remote attacker can exploit this by injecting a
    malformed packet onto the wire or by convincing someone to read a
    malformed packet trace file.
    
    Note that Nessus has not tested for these issues but has instead
    relied only on the application's self-reported version number.");
      script_set_attribute(attribute:"see_also", value:"https://www.wireshark.org/docs/relnotes/wireshark-2.0.15.html");
      script_set_attribute(attribute:"see_also", value:"https://www.wireshark.org/security/wnpa-sec-2017-38.html");
      script_set_attribute(attribute:"see_also", value:"https://www.wireshark.org/security/wnpa-sec-2017-41.html");
      script_set_attribute(attribute:"see_also", value:"https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=13929");
      script_set_attribute(attribute:"see_also", value:"https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=13933");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Wireshark version 2.0.15 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/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:"vuln_publication_date", value:"2017/08/29");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/08/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/09/01");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:wireshark:wireshark");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows");
    
      script_copyright(english:"This script is Copyright (C) 2017-2018 Tenable Network Security, Inc.");
    
      script_dependencies("wireshark_installed.nasl");
      script_require_keys("installed_sw/Wireshark", "SMB/Registry/Enumerated");
    
      exit(0);
    }
    
    include("vcf.inc");
    
    get_kb_item_or_exit("SMB/Registry/Enumerated");
    
    app_info = vcf::get_app_info(app:"Wireshark", win_local:TRUE);
    
    constraints = [
      { "min_version" : "2.0.0", "fixed_version" : "2.0.15" }
    ];
    
    vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_HOLE);
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2018-0054-1.NASL
    descriptionThis update for wireshark to version 2.2.11 fixes several issues. These security issues were fixed : - CVE-2017-13767: The MSDP dissector could have gone into an infinite loop. This was addressed by adding length validation (bsc#1056248) - CVE-2017-13766: The Profinet I/O dissector could have crash with an out-of-bounds write. This was addressed by adding string validation (bsc#1056249) - CVE-2017-13765: The IrCOMM dissector had a buffer over-read and application crash. This was addressed by adding length validation (bsc#1056251) - CVE-2017-9766: PROFINET IO data with a high recursion depth allowed remote attackers to cause a denial of service (stack exhaustion) in the dissect_IODWriteReq function (bsc#1045341) - CVE-2017-9617: Deeply nested DAAP data may have cause stack exhaustion (uncontrolled recursion) in the dissect_daap_one_tag function in the DAAP dissector (bsc#1044417) - CVE-2017-15192: The BT ATT dissector could crash. This was addressed in epan/dissectors/packet-btatt.c by considering a case where not all of the BTATT packets have the same encapsulation level. (bsc#1062645) - CVE-2017-15193: The MBIM dissector could crash or exhaust system memory. This was addressed in epan/dissectors/packet-mbim.c by changing the memory-allocation approach. (bsc#1062645) - CVE-2017-15191: The DMP dissector could crash. This was addressed in epan/dissectors/packet-dmp.c by validating a string length. (bsc#1062645) - CVE-2017-17083: NetBIOS dissector could crash. This was addressed in epan/dissectors/packet-netbios.c by ensuring that write operations are bounded by the beginning of a buffer. (bsc#1070727) - CVE-2017-17084: IWARP_MPA dissector could crash. This was addressed in epan/dissectors/packet-iwarp-mpa.c by validating a ULPDU length. (bsc#1070727) - CVE-2017-17085: the CIP Safety dissector could crash. This was addressed in epan/dissectors/packet-cipsafety.c by validating the packet length. (bsc#1070727) Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id105720
    published2018-01-10
    reporterThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/105720
    titleSUSE SLES11 Security Update : wireshark (SUSE-SU-2018:0054-1)
  • NASL familyWindows
    NASL idWIRESHARK_2_4_1.NASL
    descriptionThe version of Wireshark installed on the remote Windows host is 2.4.x prior to 2.4.1. It is, therefore, affected by multiple denial of service vulnerabilities in the Modbus, IrCOMM, Profinet I/O, and MSDP dissectors. An unauthenticated, remote attacker can exploit this by injecting a malformed packet onto the wire or by convincing someone to read a malformed packet trace file. Note that Nessus has not tested for these issues but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id102921
    published2017-09-01
    reporterThis script is Copyright (C) 2017-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/102921
    titleWireshark 2.4.x < 2.4.1 Multiple DoS
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2017-2555-1.NASL
    descriptionThis update for wireshark to version 2.2.9 fixes several issues. These security issues were fixed : - CVE-2017-13767: The MSDP dissector could have gone into an infinite loop. This was addressed by adding length validation (bsc#1056248). - CVE-2017-13766: The Profinet I/O dissector could have crash with an out-of-bounds write. This was addressed by adding string validation (bsc#1056249). - CVE-2017-13765: The IrCOMM dissector had a buffer over-read and application crash. This was addressed by adding length validation (bsc#1056251). - CVE-2017-9766: PROFINET IO data with a high recursion depth allowed remote attackers to cause a denial of service (stack exhaustion) in the dissect_IODWriteReq function (bsc#1045341). - CVE-2017-9617: Deeply nested DAAP data may have cause stack exhaustion (uncontrolled recursion) in the dissect_daap_one_tag function in the DAAP dissector (bsc#1044417). Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id103455
    published2017-09-25
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/103455
    titleSUSE SLED12 / SLES12 Security Update : wireshark (SUSE-SU-2017:2555-1)
  • NASL familyWindows
    NASL idWIRESHARK_2_2_9.NASL
    descriptionThe version of Wireshark installed on the remote Windows host is 2.2.x prior to 2.2.9. It is, therefore, affected by multiple denial of service vulnerabilities in the IrCOMM, Profinet I/O, and MSDP dissectors. An unauthenticated, remote attacker can exploit this by injecting a malformed packet onto the wire or by convincing someone to read a malformed packet trace file. Note that Nessus has not tested for these issues but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id102920
    published2017-09-01
    reporterThis script is Copyright (C) 2017-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/102920
    titleWireshark 2.2.x < 2.2.9 Multiple DoS
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2017-9FD430DBA0.NASL
    descriptionNew version 2.4.2, fixes CVE-2017-15189, CVE-2017-15190, CVE-2017-15191, CVE-2017-15192, CVE-2017-15193, CVE-2017-13764, CVE-2017-13765, CVE-2017-13766, CVE-2017-13767 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-05
    modified2018-01-15
    plugin id105941
    published2018-01-15
    reporterThis script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/105941
    titleFedora 27 : 1:wireshark (2017-9fd430dba0)