Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows - Nessus

High   Plugin ID: 44338

This page contains detailed information about the Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 44338
Name: Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows
Filename: wireshark_1_2_6.nasl
Vulnerability Published: 2010-01-27
This Plugin Published: 2010-01-29
Last Modification Time: 2018-08-06
Plugin Version: 1.13
Plugin Type: local
Plugin Family: Windows
Dependencies: wireshark_installed.nasl
Required KB Items [?]: SMB/Wireshark/Installed

Vulnerability Information


Severity: High
Vulnerability Published: 2010-01-27
Patch Published: 2009-01-27
CVE [?]: CVE-2010-0304
CPE [?]: cpe:/a:wireshark:wireshark

Synopsis

The remote host has an application that is affected by several buffer overflows.

Description

The installed version of Wireshark or Ethereal is potentially vulnerable to attack by handling data associated with the LWRES dissector.

These vulnerabilities can result in a denial of service, or possibly arbitrary code execution. A remote attacker can exploit these issues by tricking a user into opening a maliciously crafted capture file. Additionally, if Wireshark is running in promiscuous mode, one of these issues can be exploited remotely.

Solution

Upgrade to Wireshark version 1.0.11 / 1.2.6 or later.

Public Exploits


Target Network Port(s): N/A
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB, Immunity Canvas, Core Impact)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows vulnerability:

  1. Metasploit: exploit/multi/misc/wireshark_lwres_getaddrbyname_loop
    [Wireshark LWRES Dissector getaddrsbyname_request Buffer Overflow (loop)]
  2. Metasploit: exploit/multi/misc/wireshark_lwres_getaddrbyname
    [Wireshark LWRES Dissector getaddrsbyname_request Buffer Overflow]
  3. Exploit-DB: exploits/linux/remote/16289.rb
    [EDB-16289: Wireshark - LWRES Dissector getaddrsbyname_request Buffer Overflow (Metasploit)]
  4. Exploit-DB: exploits/multiple/remote/16292.rb
    [EDB-16292: Wireshark - LWRES Dissector getaddrsbyname_request Buffer Overflow (Loop) (Metasploit)]
  5. Immunity Canvas: White_Phosphorus

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS V2 Vector [?]: AV:N/AC:M/Au:N/C:C/I:C/A:C/E:F/RL:OF/RC:C
CVSS Base Score:9.3 (High)
Impact Subscore:10.0
Exploitability Subscore:8.6
CVSS Temporal Score:7.7 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:7.7 (High)

Go back to menu.

Plugin Source


This is the wireshark_1_2_6.nasl nessus plugin source code. This script is Copyright (C) 2010-2018 Tenable Network Security, Inc.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(44338);
  script_version("1.13");

  script_cve_id("CVE-2010-0304");
  script_bugtraq_id(37985);

  script_name(english:"Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows");
  script_summary(english:"Does a version check");

  script_set_attribute(attribute:"synopsis",value:
"The remote host has an application that is affected by several buffer
overflows."
  );
  script_set_attribute(attribute:"description",value:
"The installed version of Wireshark or Ethereal is potentially
vulnerable to attack by handling data associated with the LWRES
dissector. 

These vulnerabilities can result in a denial of service, or possibly
arbitrary code execution.  A remote attacker can exploit these issues
by tricking a user into opening a maliciously crafted capture file. 
Additionally, if Wireshark is running in promiscuous mode, one of
these issues can be exploited remotely."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.wireshark.org/security/wnpa-sec-2010-02.html"
  );
  script_set_attribute(
    attribute:"solution",
    value:"Upgrade to Wireshark version 1.0.11 / 1.2.6 or later."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Wireshark LWRES Dissector getaddrsbyname_request Buffer Overflow (loop)');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'White_Phosphorus');
  script_cwe_id(119);
  script_set_attribute(
    attribute:"vuln_publication_date",
    value:"2010/01/27"
  );
  script_set_attribute(
    attribute:"patch_publication_date",
    value:"2009/01/27"
  );
  script_set_attribute(
    attribute:"plugin_publication_date",
    value:"2010/01/29"
  );
 script_cvs_date("Date: 2018/08/06 14:03:17");
  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) 2010-2018 Tenable Network Security, Inc.");

  script_dependencies("wireshark_installed.nasl");
  script_require_keys("SMB/Wireshark/Installed");

exit(0);
}

include("global_settings.inc");

# Check each install.
installs = get_kb_list("SMB/Wireshark/*");
if (isnull(installs)) exit(0, "The 'SMB/Wireshark/*' KB items are missing.");

info = "";
info2 = "";
foreach install(keys(installs))
{

 if ("/Installed" >< install) continue; 

  version = install - "SMB/Wireshark/";
  ver = split(version, sep:".", keep:FALSE);
  for (i=0; i<max_index(ver); i++)
    ver[i] = int(ver[i]);

  # Affects 0.9.15 - 1.0.10 and 1.2.0 - 1.2.5
  if (
    (ver[0] == 0 && ver[1] == 9 && ver[2] > 14)
    ||
    (
      ver[0] == 1 &&
      (
        (ver[1] == 0 && ver[2] < 11) ||
        (ver[1] == 2 && ver[2] < 6)
      )
    )
  ) 
    info +=
      '\n  Path              : ' + installs[install] +
      '\n  Installed version : ' + version  +
      '\n  Fixed version     : 1.0.11 / 1.2.6\n';
  else
    info2 += '  - Version ' + version + ', under ' + installs[install] +'\n';
}

# Report if any were found to be vulnerable
if (info)
{
  if (report_verbosity > 0)
  {
    if (max_index(split(info)) > 4) s = "s of Wireshark / Ethereal are";
    else s = " of Wireshark / Ethereal is";

    report = string(
      "\n",
      "The following vulnerable instance", s, " installed :\n",
      "\n",
      info
    );
    security_hole(port:get_kb_item("SMB/transport"), extra:report);
  }
  else security_hole(get_kb_item("SMB/transport"));
}
else exit(0, "The host is not affected because Wireshark / Etherealversion "+version+" is installed.");
if (info2)
  exit(0, "The following instance(s) of Wireshark / Ethereal are installed and are not vulnerable : "+info2);

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/wireshark_1_2_6.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\wireshark_1_2_6.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/wireshark_1_2_6.nasl

Go back to menu.

How to Run


Here is how to run the Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Windows plugin family.
  6. On the right side table select Wireshark / Ethereal Dissector LWRES Multiple Buffer Overflows plugin ID 44338.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl wireshark_1_2_6.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a wireshark_1_2_6.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - wireshark_1_2_6.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state wireshark_1_2_6.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: CWE | Common Weakness Enumeration:
  • CWE-119 (Weakness) Improper Restriction of Operations within the Bounds of a Memory Buffer
See also: Similar and related Nessus plugins:
  • 45594 - CentOS 3 / 4 / 5 : wireshark (CESA-2010:0360)
  • 44847 - Debian DSA-1983-1 : wireshark - several vulnerabilities
  • 47316 - Fedora 12 : wireshark-1.2.6-1.fc12 (2010-3556)
  • 44429 - FreeBSD : wireshark -- LWRES vulnerability (bb0a8795-15dc-11df-bf0a-002170daae37)
  • 68032 - Oracle Linux 3 / 4 / 5 : wireshark (ELSA-2010-0360)
  • 46301 - RHEL 3 / 4 / 5 : wireshark (RHSA-2010:0360)
  • 60785 - Scientific Linux Security Update : wireshark on SL3.x, SL4.x, SL5.x i386/x86_64
  • 45072 - openSUSE Security Update : wireshark (wireshark-1900)
  • 45074 - openSUSE Security Update : wireshark (wireshark-1900)
  • 45076 - openSUSE Security Update : wireshark (wireshark-1900)
  • 51635 - SuSE 11 Security Update : wireshark (SAT Patch Number 2082)
  • 45077 - SuSE 11 Security Update : wireshark (SAT Patch Number 2082)
  • 45070 - SuSE9 Security Update : ethereal (YOU Patch Number 12593)
  • 45078 - SuSE 10 Security Update : ethereal (ZYPP Patch Number 6889)
  • 49846 - SuSE 10 Security Update : ethereal (ZYPP Patch Number 6890)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file wireshark_1_2_6.nasl version 1.13. For more plugins, visit the Nessus Plugin Library.

Go back to menu.