MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) - Nessus
High Plugin ID: 50528This 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:
- Metasploit: exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
[MS10-087 Microsoft Word RTF pFragments Stack Buffer Overflow (File Format)] - Exploit-DB: exploits/windows/local/16686.rb
[EDB-16686: Microsoft Word - '.RTF' pFragments Stack Buffer Overflow (File Format) (MS10-087) (Metasploit)] - Exploit-DB: exploits/windows/local/17474.txt
[EDB-17474: Microsoft Office 2010 - '.RTF' Header Stack Overflow] - GitHub: https://github.com/CERT-hr/modified_cve-search
[CVE-2010-3333] - GitHub: https://github.com/ZeroRaidStudios/api.notzerotwo.ml
[CVE-2010-3333] - GitHub: https://github.com/cve-search/cve-search
[CVE-2010-3333] - GitHub: https://github.com/cve-search/cve-search-ng
[CVE-2010-3333] - GitHub: https://github.com/djschleen/ash
[CVE-2010-3333] - GitHub: https://github.com/doshyt/cve-monitor
[CVE-2010-3333] - GitHub: https://github.com/enthought/cve-search
[CVE-2010-3333] - GitHub: https://github.com/extremenetworks/cve-search-src
[CVE-2010-3333] - GitHub: https://github.com/miradam/cve-search
[CVE-2010-3333] - GitHub: https://github.com/pandazheng/Threat-Intelligence-Analyst
[CVE-2010-3333] - GitHub: https://github.com/r3p3r/cve-search
[CVE-2010-3333] - GitHub: https://github.com/riusksk/vul_war_error
[CVE-2010-3333] - GitHub: https://github.com/swastik99/cve-search
[CVE-2010-3333] - GitHub: https://github.com/whiteHat001/cve-2010-3333
[CVE-2010-3333] - GitHub: https://github.com/zwei2008/cve
[CVE-2010-3333] - 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/):
- Click to start a New Scan.
- Select Advanced Scan.
- Navigate to the Plugins tab.
- On the top right corner click to Disable All plugins.
- On the left side table select Windows : Microsoft Bulletins plugin family.
- On the right side table select MS10-087: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2423930) plugin ID 50528.
- Specify the target on the Settings tab and click to Save the scan.
- 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
- https://www.tenable.com/plugins/nessus/50528
- https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2010/ms10-087
- https://vulners.com/nessus/SMB_NT_MS10-087.NASL
- 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.