Lucene search

K
nessusThis script is Copyright (C) 2010-2022 Tenable Network Security, Inc.SMB_NT_MS10-087.NASL
HistoryNov 09, 2010 - 12:00 a.m.

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

2010-11-0900:00:00
This script is Copyright (C) 2010-2022 Tenable Network Security, Inc.
www.tenable.com
417

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)

#%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');
}
VendorProductVersionCPE
microsoftofficecpe:/a:microsoft:office