MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) - Nessus

High   Plugin ID: 50528

This page contains detailed information about the MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 50528
Name: MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930)
Filename: smb_nt_ms10-087.nasl
Vulnerability Published: 2010-07-03
This Plugin Published: 2010-11-09
Last Modification Time: 2022-03-08
Plugin Version: 1.34
Plugin Type: local
Plugin Family: Windows : Microsoft Bulletins
Dependencies: ms_bulletin_checks_possible.nasl, office_installed.nasl, smb_nt_ms02-031.nasl
Required KB Items [?]: SMB/MS_Bulletin_Checks/Possible

Vulnerability Information


Severity: High
Vulnerability Published: 2010-07-03
Patch Published: 2010-11-09
CVE [?]: CVE-2010-2573, CVE-2010-3333, CVE-2010-3334, CVE-2010-3335, CVE-2010-3336, CVE-2010-3337
CPE [?]: cpe:/a:microsoft:office
Exploited by Malware: True

Synopsis

Arbitrary code can be executed on the remote host through Microsoft Office.

Description

The remote Windows host is running a version of Microsoft Office that is affected by several vulnerabilities :

- An integer underflow exists in the way the application parses the PowerPoint file format, which could lead to heap corruption and allow for arbitrary code execution when opening a specially crafted PowerPoint file. (CVE-2010-2573)

- A stack-based buffer overflow can be triggered when parsing specially crafted RTF files, leading to arbitrary code execution. (CVE-2010-3333)

- A memory corruption vulnerability exists in the way the application parses specially crafted Office files containing Office Art Drawing records. (CVE-2010-3334)

- A memory corruption vulnerability exists in the way drawing exceptions are handled when opening specially crafted Office files. (CVE-2010-3335)

- A memory corruption vulnerability exists in the way the application parses specially crafted Office files. (CVE-2010-3336)

- A DLL preloading (aka binary planting) vulnerability exists because the application insecurely looks in its current working directory when resolving DLL dependencies. (CVE-2010-3337)

Solution

Microsoft has released a set of patches for Office XP, 2003, 2007, and 2010.

Public Exploits


Target Network Port(s): 139, 445
Target Asset(s): Host/patch_management_checks
Exploit Available: True (Metasploit Framework, Exploit-DB, GitHub, Core Impact)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) vulnerability:

  1. Metasploit: exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
    [MS10-087 Microsoft Word RTF pFragments Stack Buffer Overflow (File Format)]
  2. Exploit-DB: exploits/windows/local/16686.rb
    [EDB-16686: Microsoft Word - '.RTF' pFragments Stack Buffer Overflow (File Format) (MS10-087) (Metasploit)]
  3. Exploit-DB: exploits/windows/local/17474.txt
    [EDB-17474: Microsoft Office 2010 - '.RTF' Header Stack Overflow]
  4. GitHub: https://github.com/CERT-hr/modified_cve-search
    [CVE-2010-3333]
  5. GitHub: https://github.com/ZeroRaidStudios/api.notzerotwo.ml
    [CVE-2010-3333]
  6. GitHub: https://github.com/cve-search/cve-search
    [CVE-2010-3333]
  7. GitHub: https://github.com/cve-search/cve-search-ng
    [CVE-2010-3333]
  8. GitHub: https://github.com/djschleen/ash
    [CVE-2010-3333]
  9. GitHub: https://github.com/doshyt/cve-monitor
    [CVE-2010-3333]
  10. GitHub: https://github.com/enthought/cve-search
    [CVE-2010-3333]
  11. GitHub: https://github.com/extremenetworks/cve-search-src
    [CVE-2010-3333]
  12. GitHub: https://github.com/miradam/cve-search
    [CVE-2010-3333]
  13. GitHub: https://github.com/pandazheng/Threat-Intelligence-Analyst
    [CVE-2010-3333]
  14. GitHub: https://github.com/r3p3r/cve-search
    [CVE-2010-3333]
  15. GitHub: https://github.com/riusksk/vul_war_error
    [CVE-2010-3333]
  16. GitHub: https://github.com/swastik99/cve-search
    [CVE-2010-3333]
  17. GitHub: https://github.com/whiteHat001/cve-2010-3333
    [CVE-2010-3333]
  18. GitHub: https://github.com/zwei2008/cve
    [CVE-2010-3333]
  19. GitHub: https://github.com/offensive-security/exploitdb-bin-sploits/blob/master/bin-sploits/17474.doc
    [EDB-17474]

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 Score Source [?]: CVE-2010-3337
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 smb_nt_ms10-087.nasl nessus plugin source code. This script is Copyright (C) 2010-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(50528);
  script_version("1.34");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/03/08");

  script_cve_id(
    "CVE-2010-2573",
    "CVE-2010-3333",
    "CVE-2010-3334",
    "CVE-2010-3335",
    "CVE-2010-3336",
    "CVE-2010-3337"
  );
  script_bugtraq_id(
    42628,
    44628,
    44652,
    44656,
    44659,
    44660
  );
  script_xref(name:"EDB-ID", value:"17474");
  script_xref(name:"MSFT", value:"MS10-087");
  script_xref(name:"MSKB", value:"2289158");
  script_xref(name:"MSKB", value:"2289161");
  script_xref(name:"MSKB", value:"2289169");
  script_xref(name:"MSKB", value:"2289187");
  script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2022/03/24");

  script_name(english:"MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930)");

  script_set_attribute(attribute:"synopsis", value:
"Arbitrary code can be executed on the remote host through Microsoft
Office.");
  script_set_attribute(attribute:"description", value:
"The remote Windows host is running a version of Microsoft Office that
is affected by several vulnerabilities :

  - An integer underflow exists in the way the application
    parses the PowerPoint file format, which could lead to
    heap corruption and allow for arbitrary code execution
    when opening a specially crafted PowerPoint file.
    (CVE-2010-2573)

  - A stack-based buffer overflow can be triggered when
    parsing specially crafted RTF files, leading to
    arbitrary code execution. (CVE-2010-3333)

  - A memory corruption vulnerability exists in the way
    the application parses specially crafted Office files
    containing Office Art Drawing records. (CVE-2010-3334)

  - A memory corruption vulnerability exists in the way
    drawing exceptions are handled when opening specially
    crafted Office files. (CVE-2010-3335)

  - A memory corruption vulnerability exists in the way
    the application parses specially crafted Office files.
    (CVE-2010-3336)

  - A DLL preloading (aka binary planting) vulnerability
    exists because the application insecurely looks in
    its current working directory when resolving DLL
    dependencies. (CVE-2010-3337)");
  script_set_attribute(attribute:"see_also", value:"https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2010/ms10-087");
  script_set_attribute(attribute:"solution", value:
"Microsoft has released a set of patches for Office XP, 2003, 2007, and
2010.");
  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:"cvss_score_source", value:"CVE-2010-3337");

  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:'MS10-087 Microsoft Word RTF pFragments Stack Buffer Overflow (File Format)');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2010/07/03");
  script_set_attribute(attribute:"patch_publication_date", value:"2010/11/09");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/11/09");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:office");
  script_end_attributes();

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

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

  script_dependencies("smb_nt_ms02-031.nasl", "office_installed.nasl", "ms_bulletin_checks_possible.nasl");
  script_require_keys("SMB/MS_Bulletin_Checks/Possible");
  script_require_ports(139, 445, "Host/patch_management_checks");

  exit(0);
}


include("audit.inc");
include("smb_func.inc");
include("smb_hotfixes.inc");
include("smb_hotfixes_fcheck.inc");
include("misc_func.inc");


get_kb_item_or_exit("SMB/MS_Bulletin_Checks/Possible");

bulletin = 'MS10-087';
kbs = make_list("2289158", "2289161", "2289169", "2289187");
if (get_kb_item("Host/patch_management_checks")) hotfix_check_3rd_party(bulletin:bulletin, kbs:kbs, severity:SECURITY_HOLE);

arch = get_kb_item_or_exit("SMB/ARCH");
office_vers = hotfix_check_office_version();
if (!is_accessible_share()) exit(1, "is_accessible_share() failed.");
vuln = FALSE;

x86_path = hotfix_get_commonfilesdir();
if (!x86_path) audit(AUDIT_PATH_NOT_DETERMINED, 'Common Files');
x64_path = hotfix_get_programfilesdirx86();
if (arch == 'x64' && !x64_path) audit(AUDIT_PATH_NOT_DETERMINED, 'Program Files (x86)');

# Office 2010
if (office_vers["14.0"])
{
  if (
    hotfix_is_vulnerable(file:"Mso.dll", version:"14.0.5128.5000", min_version:'14.0.0.0', path:x86_path+"\Microsoft Shared\Office14", bulletin:bulletin, kb:"2289161") ||
    hotfix_is_vulnerable(file:"Mso.dll", arch:"x64", version:"14.0.5128.5000", min_version:'14.0.0.0', path:x64_path+"\Common Files\Microsoft Shared\Office14", bulletin:bulletin, kb:"2289161")
  ) vuln = TRUE;
}
# Office 2007
if (office_vers["12.0"])
{
  sp = get_kb_item("SMB/Office/2007/SP");
  if (!isnull(sp) && sp == 2)
  {
    if (
      hotfix_is_vulnerable(file:"Mso.dll", version:"12.0.6545.5004", min_version:'12.0.0.0', path:x86_path+"\Microsoft Shared\Office12", bulletin:bulletin, kb:"2289158") ||
      hotfix_is_vulnerable(file:"Mso.dll", arch:"x64", version:"12.0.6545.5004", min_version:'12.0.0.0', path:x64_path+"\Common Files\Microsoft Shared\Office12", bulletin:bulletin, kb:"2289158")
    ) vuln = TRUE;
  }
}
# Office 2003
if (office_vers["11.0"])
{
  sp = get_kb_item("SMB/Office/2003/SP");
  if (!isnull(sp) && sp == 3)
  {
    if (
      hotfix_is_vulnerable(file:"Mso.dll", version:"11.0.8329.0", min_version:'11.0.0.0', path:x86_path+"\Microsoft Shared\Office11", bulletin:bulletin, kb:"2289187") ||
      hotfix_is_vulnerable(file:"Mso.dll", arch:"x64", version:"11.0.8329.0", min_version:'11.0.0.0', path:x64_path+"\Common Files\Microsoft Shared\Office11", bulletin:bulletin, kb:"2289187")
    ) vuln = TRUE;
  }
}
# Office XP
if (office_vers["10.0"])
{
  sp = get_kb_item("SMB/Office/XP/SP");
  if (!isnull(sp) && sp == 3)
  {
    if (
      hotfix_is_vulnerable(file:"Mso.dll", version:"10.0.6867.0", path:x86_path+"\Microsoft Shared\Office10", bulletin:bulletin, kb:"2289169") ||
      hotfix_is_vulnerable(file:"Mso.dll", arch:"x64", version:"10.0.6867.0", path:x64_path+"\Common Files\Microsoft Shared\Office10", bulletin:bulletin, kb:"2289169")
    ) vuln = TRUE;
  }
}

if (vuln)
{
  set_kb_item(name:"SMB/Missing/"+bulletin, value:TRUE);
  hotfix_security_hole();
  hotfix_check_fversion_end();
  exit(0);
}
else
{
  hotfix_check_fversion_end();
  audit(AUDIT_HOST_NOT, 'affected');
}

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

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

Go back to menu.

How to Run


Here is how to run the MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) 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 : Microsoft Bulletins plugin family.
  6. On the right side table select MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) plugin ID 50528.
  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 smb_nt_ms10-087.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

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

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

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

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: MSKB | Microsoft Knowledge Base: MSFT | Microsoft Security Bulletin:
  • MS10-087
See also: Similar and related Nessus plugins:
  • 50531 - MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) (Mac OS X)
  • 47713 - MS10-045: Vulnerability in Microsoft Office Outlook Could Allow Remote Code Execution (978212)
  • 48216 - MS10-046: Vulnerability in Windows Shell Could Allow Remote Code Execution (2286198) (EASYHOOKUP)
  • 48284 - MS10-047: Vulnerabilities in Windows Kernel Could Allow Elevation of Privilege (981852)
  • 48285 - MS10-048: Vulnerabilities in Windows Kernel-Mode Drivers Could Allow Elevation of Privilege (2160329)
  • 48286 - MS10-049: Vulnerabilities in SChannel could allow Remote Code Execution (980436)
  • 48291 - MS10-054: Vulnerabilities in SMB Server Could Allow Remote Code Execution (982214)
  • 48292 - MS10-055: Vulnerability in Cinepak Codec Could Allow Remote Code Execution (982665)
  • 48293 - MS10-056: Vulnerability in Microsoft Office Word Could Allow Remote Code Execution (2269638)
  • 48296 - MS10-059: Vulnerabilities in the Tracing Feature for Services Could Allow Elevation of Privilege (982799)
  • 48297 - MS10-060: Vulnerabilities in the Microsoft .NET Common Language Runtime and in Microsoft Silverlight Could Allow Remote Code Execution (2265906)
  • 49219 - MS10-061: Vulnerability in Print Spooler Service Could Allow Remote Code Execution (2347290) (EMERALDTHREAD)
  • 49221 - MS10-063: Vulnerability in Unicode Scripts Processor Could Allow Remote Code Execution (2320113)
  • 49223 - MS10-065: Vulnerabilities in Microsoft Internet Information Services (IIS) Could Allow Remote Code Execution (2267960)
  • 49695 - MS10-070: Vulnerability in ASP.NET Could Allow Information Disclosure (2418042)
  • 49948 - MS10-071: Cumulative Security Update for Internet Explorer (2360131)
  • 49950 - MS10-073: Vulnerabilities in Windows Kernel-Mode Drivers Could Allow Elevation of Privilege (981957)
  • 49958 - MS10-081: Vulnerability in Windows Common Control Library Could Allow Remote Code Execution (2296011)
  • 51162 - MS10-090: Cumulative Security Update for Internet Explorer (2416400)
  • 51164 - MS10-092: Vulnerability in Task Scheduler Could Allow Elevation of Privilege (2305420)
  • 51165 - MS10-093: Vulnerability in Windows Movie Maker Could Allow Remote Code Execution (2424434)
  • 51168 - MS10-096: Vulnerability in Windows Address Book Could Allow Remote Code Execution (2423089)
  • 51169 - MS10-097: Insecure Library Loading in Internet Connection Signup Wizard Could Allow Remote Code Execution (2443105)
  • 51170 - MS10-098: Vulnerabilities in Windows Kernel-Mode Drivers Could Allow Elevation of Privilege (2436673)
  • 51174 - MS10-102: Vulnerability in Hyper-V Could Allow Denial of Service (2345316)
  • 51176 - MS10-104: Vulnerability in Microsoft SharePoint Could Allow Remote Code Execution (2455005)
  • 51454 - MS11-001: Vulnerability in Windows Backup Manager Could Allow Remote Code Execution (2478935)
  • 51455 - MS11-002: Vulnerabilities in Microsoft Data Access Components Could Allow Remote Code Execution (2451910)
  • 51903 - MS11-003: Cumulative Security Update for Internet Explorer (2482017)
  • 51904 - MS11-004: Vulnerability in Internet Information Services (IIS) FTP Service Could Allow Remote Code Execution (2489256)
  • 51906 - MS11-006: Vulnerability in Windows Shell Graphics Processing Could Allow Remote Code Execution (2483185)
  • 51911 - MS11-011: Vulnerabilities in Windows Kernel Could Allow Elevation of Privilege (2393802)
  • 52584 - MS11-016: Vulnerability in Microsoft Groove Could Allow Remote Code Execution (2494047)
  • 53376 - MS11-019: Vulnerabilities in SMB Client Could Allow Remote Code Execution (2511455)
  • 53377 - MS11-020: Vulnerability in SMB Server Could Allow Remote Code Execution (2508429)

Version


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

Go back to menu.