RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution - Nessus

High   Plugin ID: 31418

This page contains detailed information about the RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 31418
Name: RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution
Filename: realplayer_rmoc3260_activex.nasl
Vulnerability Published: N/A
This Plugin Published: 2008-03-12
Last Modification Time: 2022-04-07
Plugin Version: 1.28
Plugin Type: local
Plugin Family: Windows
Dependencies: realplayer_detect.nasl, smb_hotfixes.nasl
Required KB Items [?]: SMB/RealPlayer/Build, SMB/RealPlayer/Product, SMB/Registry/Enumerated

Vulnerability Information


Severity: High
Vulnerability Published: N/A
Patch Published: N/A
CVE [?]: CVE-2008-1309
CPE [?]: cpe:/a:realnetworks:realplayer
Exploited by Malware: True

Synopsis

The remote Windows host has an ActiveX control that is affected by heap memory corruption vulnerabilities.

Description

The remote host contains the Real Player ActiveX control, included with the RealPlayer media player, used to play content in a browser.

The version of this control installed on the remote host reportedly contains a buffer overflow that can be leveraged by calls to various methods, such as 'Console', to modify heap blocks after they are freed and overwrite certain registers. If an attacker can trick a user on the affected host into visiting a specially crafted web page, he may be able to use this method to execute arbitrary code on the affected system subject to the user's privileges.

Solution

Upgrade to RealPlayer 11.0.3 (build 6.0.14.806) / RealPlayer 10.5 (build 6.0.12.1675) or later.

Public Exploits


Target Network Port(s): 139, 445
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 RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution vulnerability:

  1. Metasploit: exploit/windows/browser/realplayer_console
    [RealPlayer rmoc3260.dll ActiveX Control Heap Corruption]
  2. Exploit-DB: exploits/windows/remote/16584.rb
    [EDB-16584: RealPlayer - 'rmoc3260.dll' ActiveX Control Heap Corruption (Metasploit)]
  3. Immunity Canvas: D2ExploitPack

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:H/RL:OF/RC:C
CVSS Base Score:9.3 (High)
Impact Subscore:10.0
Exploitability Subscore:8.6
CVSS Temporal Score:8.1 (High)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:8.1 (High)

Go back to menu.

Plugin Source


This is the realplayer_rmoc3260_activex.nasl nessus plugin source code. This script is Copyright (C) 2008-2022 Tenable Network Security, Inc.

#%NASL_MIN_LEVEL 70300
#
#  (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(31418);
  script_version("1.28");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/07");

  script_cve_id("CVE-2008-1309");
  script_bugtraq_id(28157);
  script_xref(name:"CERT", value:"831457");
  script_xref(name:"Secunia", value:"29315");

  script_name(english:"RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution");

  script_set_attribute(attribute:"synopsis", value:
"The remote Windows host has an ActiveX control that is affected by 
heap memory corruption vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The remote host contains the Real Player ActiveX control, included
with the RealPlayer media player, used to play content in a
browser. 

The version of this control installed on the remote host reportedly
contains a buffer overflow that can be leveraged by calls to various
methods, such as 'Console', to modify heap blocks after they are freed
and overwrite certain registers.  If an attacker can trick a user on
the affected host into visiting a specially crafted web page, he may
be able to use this method to execute arbitrary code on the affected
system subject to the user's privileges.");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2008/Mar/156");
  script_set_attribute(attribute:"see_also", value:"http://service.real.com/realplayer/security/07252008_player/en/");
  script_set_attribute(attribute:"solution", value:
"Upgrade to RealPlayer 11.0.3 (build 6.0.14.806) / RealPlayer 10.5
(build 6.0.12.1675) 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:H/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:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'RealPlayer rmoc3260.dll ActiveX Control Heap Corruption');
  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:"D2ExploitPack");
  script_cwe_id(399);

  script_set_attribute(attribute:"plugin_publication_date", value:"2008/03/12");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:realnetworks:realplayer");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

  script_copyright(english:"This script is Copyright (C) 2008-2022 Tenable Network Security, Inc.");

  script_dependencies("realplayer_detect.nasl", "smb_hotfixes.nasl");
  script_require_keys("SMB/RealPlayer/Product", "SMB/RealPlayer/Build", "SMB/Registry/Enumerated");
  script_require_ports(139, 445);

  exit(0);
}


include("global_settings.inc");
include("smb_func.inc");
include("smb_activex_func.inc");


if (!get_kb_item("SMB/Registry/Enumerated")) exit(0);


# Determine based on the product's build number if it's potentially vulnerable.
prod = get_kb_item("SMB/RealPlayer/Product");
if (!prod) exit(0);


build = get_kb_item("SMB/RealPlayer/Build");
if (!build) exit(0);

ver = split(build, sep:'.', keep:FALSE);
for (i=0; i<max_index(ver); i++)
  ver[i] = int(ver[i]);


vuln = FALSE;
if ("RealPlayer" == prod)
{
  # nb: build numbers ARE NOT NECESSARILY SEQUENTIAL!
  if (
    ver[0] < 6 ||
    (
      ver[0] == 6 && ver[1] == 0 && 
      (
        ver[2] < 12 ||
        (
          ver[2] == 12 && 
          (
            ver[3] <= 1663 ||
            ver[3] == 1698 ||
            ver[3] == 1741
          )
        ) ||
        (ver[2] == 14 && ver[3] < 806)
      )
    )
  ) vuln = TRUE;
}
if (!vuln) exit(0);


# Locate the file used by the controls.
if (activex_init() != ACX_OK) exit(0);

info = "";
clsids = make_list(
  "{0FDF6D6B-D672-463B-846E-C6FF49109662}",
  "{224E833B-2CC6-42D9-AE39-90B6A38A4FA2}",
  "{2F542A2E-EDC9-4BF7-8CB1-87C9919F7F93}",
  "{3B46067C-FD87-49B6-8DDD-12F0D687035F}",
  "{3B5E0503-DE28-4BE8-919C-76E0E894A3C2}",
  "{44CCBCEB-BA7E-4C99-A078-9F683832D493}",
  "{A1A41E11-91DB-4461-95CD-0C02327FD934}",
  "{CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA}"
);

foreach clsid (clsids)
{
  file = activex_get_filename(clsid:clsid);
  if (file)
  {
    # Check its version.
    ver = activex_get_fileversion(clsid:clsid);
    if (ver && activex_check_fileversion(clsid:clsid, fix:"6.0.10.50") == TRUE)
    {
      if (report_paranoia > 1 || activex_get_killbit(clsid:clsid) == 0)
      {
        info += '  ' + clsid + ',\n' + 
                '    ' + file + ' (' + ver + ')\n';
        if (!thorough_tests) break;
      }
    }
  }
}
activex_end();


if (info)
{
  info = string(
    "Nessus found the following affected control(s) :\n",
    "\n",
    info
  );
  if (report_paranoia > 1)
    report = string(
      "\n",
      info,
      "\n",
      "Note, though, that Nessus did not check whether the kill bit was\n",
      "set for the control(s) because of the Report Paranoia setting in\n",
      "effect when this scan was run.\n"
    );
  else
    report = string(
      "\n",
      info,
      "\n",
      "Moreover, the kill bit is not set for the control(s) so they are\n",
      "accessible via Internet Explorer.\n"
    );

  if (report_verbosity) security_hole(port:kb_smb_transport(), extra:report);
  else security_hole(kb_smb_transport());
}

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

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

Go back to menu.

How to Run


Here is how to run the RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution 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 RealPlayer ActiveX (rmoc3260.dll) Console Property Memory Corruption Arbitrary Code Execution plugin ID 31418.
  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 realplayer_rmoc3260_activex.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

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

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

/opt/nessus/bin/nasl -T - realplayer_rmoc3260_activex.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 realplayer_rmoc3260_activex.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: CERT | Computer Emergency Response Team: Secunia Advisory: CWE | Common Weakness Enumeration:
  • CWE-399 (Category) Resource Management Errors
See also: Similar and related Nessus plugins:
  • 33744 - RealPlayer for Windows < Build 6.0.14.806 / 6.0.12.1675 Multiple Vulnerabilities
  • 48907 - RealPlayer for Windows < Build 12.0.0.879 Multiple Vulnerabilities
  • 53409 - RealPlayer for Windows < Build 12.0.1.647 Multiple Vulnerabilities
  • 55908 - RealPlayer for Windows < Build 12.0.1.666 Multiple Vulnerabilities
  • 59173 - RealPlayer for Windows < 15.0.4.53 Multiple Vulnerabilities
  • 63289 - RealPlayer for Windows < 16.0.0.282 Multiple Vulnerabilities
  • 71772 - RealPlayer for Windows < 17.0.4.61 RMP Buffer Overflow
  • 21140 - RealPlayer for Windows < Build 6.0.12.1483 Multiple Vulnerabilities
  • 25573 - RealPlayer for Windows < Build 6.0.12.1578 Multiple Vulnerabilities
  • 27591 - RealPlayer for Windows < Build 6.0.12.1662 Multiple Vulnerabilities
  • 50022 - RealPlayer Enterprise for Windows < Build 6.0.12.1823 Multiple Vulnerabilities
  • 17254 - RealPlayer Multiple Remote Overflows (2005-03-01)
  • 27522 - RealPlayer ActiveX (ierpplug.dll) Playlist Handling Buffer Overflow
  • 21402 - FreeBSD : linux-realplayer -- buffer overrun (25858c37-bdab-11da-b7d4-00123ffe8333)
  • 29866 - FreeBSD : linux-realplayer -- multiple vulnerabilities (f762ccbb-baed-11dc-a302-000102cc8983)
  • 21148 - GLSA-200603-24 : RealPlayer: Buffer overflow vulnerability
  • 26095 - GLSA-200709-05 : RealPlayer: Buffer overflow
  • 17268 - RHEL 4 : RealPlayer (RHSA-2005:265)
  • 17590 - RHEL 3 : realplayer (RHSA-2005:299)
  • 63831 - RHEL 3 / 4 : RealPlayer (RHSA-2006:0257)
  • 40707 - RHEL 3 / 4 / 5 : RealPlayer (RHSA-2007:0841)
  • 17300 - SUSE-SA:2005:014: RealPlayer

Version


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

Go back to menu.