The remote Mac OS X host is running a version of Microsoft Excel that is affected by several vulnerabilities.
If an attacker can trick a user on the affected host into opening a specially crafted Excel file, these issues could be leveraged to execute arbitrary code subject to the user’s privileges.
#TRUSTED 51226a8e3960ec3fe622d5bb1924e3bd155976654b8e831e10c6701c31a0eeff6219a12605f67fe0cafa3cc7208b31cf38cc74870a1009ffa89daa524e47aa31d26a64467d8eca79f279c53924e3565eb108fd827efe1a097c3e7725151007407beeec9d2f235424c0125be52b51cfd67e2ee1fdb101326e798b660ea0a7a6cb9e69485f2cec31b7ecd2875385189660ee5a721a6d6b6606b109a7dcdacfbe748c5536be5bb5e6bc4bd876880320e58f8f4854970a6f0efa5c30846726332c2540174ad13dd50992efd6426bd6375df01ef333ab9271a8140fe9580e814801251f3a5fed104ed112576c6589a98591af84849a145f0104d7ac9ee084b9708c6d1013c9fe8e8c1952966b0f40eb0b531e8473dbfcec5943b6b1c513d0f799f09d1adb21f0ffbaca886476d30360ee2e513456d28ff877e4d37c7a7bfa34beddc6e129ba37d62027afca5c3cf1cc7ba1d8432bcf215560bd1b04434c38d691892a42b0aa6c77f82150084d2ebca5227cb1248a3be098d115da63d4eecbf62304c598905a409b39d2085897969bb2da8505897d452ee291177e8044def3c976cf1f6ffc1c75384565e4dcf5c9295c074c36457e1163aa0e202b65fb0c2221bb116bcd48b3604054eadc2a97017fe1a3e6ce53db4039a1b889ee32406ef7b824bed602fb9d7b309abcd50b0db4a79e602a2000f9d6c04995ff53dd05613e2af053ca
#TRUST-RSA-SHA256 a8c606c0e59d4e9e5f4f03f66f2ea624c3b79325d706b751020d8bfcce93e1d26026fb35856823cff9381fa7cb017d59aed2978bfc05da14eedd89997157f8bb1ed30209c99f333bc33243796865c1762cb6aa20a786c75d850c46441daaef508f9aa348ef5acd42259741968941c0b132b1b813ec779d17ac7f4e0da70f5f121388b97a36a8133f9a3be57b9136c06610c5a7a8288e3f0492a8003a329043b0cb5ffabc8d02ecae9c1b03a2e84f9ae1d8ff4ac7a898b2f452654d8713ed1882e6e77a2c62806dcd0c5010b7c4538a4549e9bedf242d1ee6763f20c1f30bfe936f993ee1a46a504d1456399c398fb4f6d33e948ccdefdf828f4e6770f4b49686d872d955cb08d7a5add137d2d36d6e7eee6cdffa5569712178bd48f40ad66dd8c29c5933d6aacb37575ab7281a8f383651f0f41e943858429712ebdc3cf8e8bcd8a02f1b7c48e0e6538f6b634767e5938c815df6728bf6e5f58c97ca837ce5d76203668b03dc3061202d5b8c50338545e87af471c1c2546190fc404ad7eddc9cb9b6d52eb4c5a1af1291e9db8cf4e7f0f64f28af327efdf0856e63e4d2b780fa1267483cc197af60d0e8b1d6bc6d19eaf6a646dd85ed17eb579c5f7383502d24f34cd1897183e979b2a27bdcc092632e2e97aa2099ec6f765ad1953791328539f9f307f7f36e20cdfda6efd8f4713cdf28b3447049e94e704451ab97fcf2e64b
#
# (C) Tenable Network Security, Inc.
#
include("compat.inc");
if (description)
{
script_id(50066);
script_version("1.26");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/11/27");
script_cve_id(
"CVE-2010-0821",
"CVE-2010-0822",
"CVE-2010-0823",
"CVE-2010-0824",
"CVE-2010-1245",
"CVE-2010-1248",
"CVE-2010-1249",
"CVE-2010-1250",
"CVE-2010-1251",
"CVE-2010-1252",
"CVE-2010-1253",
"CVE-2010-1254"
);
script_bugtraq_id(
40518,
40520,
40521,
40522,
40523,
40526,
40527,
40528,
40529,
40530,
40531,
40533
);
script_xref(name:"MSFT", value:"MS10-038");
script_xref(name:"MSKB", value:"2027452");
script_xref(name:"MSKB", value:"2028864");
script_xref(name:"MSKB", value:"202886");
script_xref(name:"MSKB", value:"2078051");
script_name(english:"MS10-038: Vulnerabilities in Microsoft Office Could Allow Remote Code Execution (2027452) (Mac OS X)");
script_summary(english:"Check version of Microsoft Office");
script_set_attribute(attribute:"synopsis", value:
"An application installed on the remote Mac OS X host is affected by
multiple remote code execution vulnerabilities.");
script_set_attribute(attribute:"description", value:
"The remote Mac OS X host is running a version of Microsoft Excel that
is affected by several vulnerabilities.
If an attacker can trick a user on the affected host into opening a
specially crafted Excel file, these issues could be leveraged to
execute arbitrary code subject to the user's privileges.");
script_set_attribute(attribute:"see_also", value:"http://technet.microsoft.com/en-us/security/bulletin/ms10-038");
script_set_attribute(attribute:"solution", value:
"Microsoft has released a set of patches for Office 2004 for Mac,
Office 2008 for Mac, and Open XML File Format Converter for Mac.");
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-1253");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"exploited_by_malware", value:"true");
script_set_attribute(attribute:"exploit_framework_core", value:"true");
script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
script_set_attribute(attribute:"canvas_package", value:'White_Phosphorus');
script_set_attribute(attribute:"metasploit_name", value:'MS11-038 Microsoft Office Excel Malformed OBJ Record Handling Overflow');
script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2010/06/08");
script_set_attribute(attribute:"patch_publication_date", value:"2010/06/08");
script_set_attribute(attribute:"plugin_publication_date", value:"2010/10/20");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:office:2004::mac");
script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:office:2008::mac");
script_set_attribute(attribute:"cpe", value:"cpe:/a:microsoft:open_xml_file_format_converter:::mac");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"MacOS X Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2010-2023 Tenable Network Security, Inc.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/MacOSX/packages", "Host/uname");
exit(0);
}
include("misc_func.inc");
include("ssh_func.inc");
include("macosx_func.inc");
enable_ssh_wrappers();
function exec(cmd)
{
local_var buf, ret;
if (islocalhost())
buf = pread_wrapper(cmd:"/bin/bash", argv:make_list("bash", "-c", cmd));
else
{
ret = ssh_open_connection();
if (!ret) exit(1, "ssh_open_connection() failed.");
buf = ssh_cmd(cmd:cmd);
ssh_close_connection();
}
return buf;
}
packages = get_kb_item("Host/MacOSX/packages");
if (!packages) exit(1, "The 'Host/MacOSX/packages' KB item is missing.");
uname = get_kb_item("Host/uname");
if (!uname) exit(1, "The 'Host/uname' KB item is missing.");
if (!egrep(pattern:"Darwin.*", string:uname)) exit(1, "The host does not appear to be using the Darwin sub-system.");
# Gather version info.
info = '';
installs = make_array();
prod = 'Office 2008 for Mac';
plist = "/Applications/Microsoft Office 2008/Office/MicrosoftComponentPlugin.framework/Versions/12/Resources/Info.plist";
cmd = 'cat \'' + plist + '\' | ' +
'grep -A 1 CFBundleShortVersionString | ' +
'tail -n 1 | ' +
'sed \'s/.*string>\\(.*\\)<\\/string>.*/\\1/g\'';
version = exec(cmd:cmd);
if (version && version =~ "^[0-9]+\.")
{
version = chomp(version);
if (version !~ "^12\.") exit(1, "Failed to get the version for "+prod+" - '"+version+"'.");
installs[prod] = version;
ver = split(version, sep:'.', keep:FALSE);
for (i=0; i<max_index(ver); i++)
ver[i] = int(ver[i]);
fixed_version = '12.2.5';
fix = split(fixed_version, sep:'.', keep:FALSE);
for (i=0; i<max_index(fix); i++)
fix[i] = int(fix[i]);
for (i=0; i<max_index(fix); i++)
if ((ver[i] < fix[i]))
{
info +=
'\n Product : ' + prod +
'\n Installed version : ' + version +
'\n Fixed version : ' + fixed_version + '\n';
break;
}
else if (ver[i] > fix[i])
break;
}
prod = 'Office 2004 for Mac';
cmd = GetCarbonVersionCmd(file:"Microsoft Component Plugin", path:"/Applications/Microsoft Office 2004/Office");
version = exec(cmd:cmd);
if (version && version =~ "^[0-9]+\.")
{
version = chomp(version);
if (version !~ "^11\.") exit(1, "Failed to get the version for "+prod+" - '"+version+"'.");
installs[prod] = version;
ver = split(version, sep:'.', keep:FALSE);
for (i=0; i<max_index(ver); i++)
ver[i] = int(ver[i]);
fixed_version = '11.5.9';
fix = split(fixed_version, sep:'.', keep:FALSE);
for (i=0; i<max_index(fix); i++)
fix[i] = int(fix[i]);
for (i=0; i<max_index(fix); i++)
if ((ver[i] < fix[i]))
{
info +=
'\n Product : ' + prod +
'\n Installed version : ' + version +
'\n Fixed version : ' + fixed_version + '\n';
break;
}
else if (ver[i] > fix[i])
break;
}
prod = 'Open XML File Format Converter for Mac';
plist = "/Applications/Open XML Converter.app/Contents/Info.plist";
cmd = 'cat \'' + plist + '\' | ' +
'grep -A 1 CFBundleShortVersionString | ' +
'tail -n 1 | ' +
'sed \'s/.*string>\\(.*\\)<\\/string>.*/\\1/g\'';
version = exec(cmd:cmd);
if (version && version =~ "^[0-9]+\.")
{
version = chomp(version);
installs[prod] = version;
ver = split(version, sep:'.', keep:FALSE);
for (i=0; i<max_index(ver); i++)
ver[i] = int(ver[i]);
fixed_version = '1.1.5';
fix = split(fixed_version, sep:'.', keep:FALSE);
for (i=0; i<max_index(fix); i++)
fix[i] = int(fix[i]);
for (i=0; i<max_index(fix); i++)
if ((ver[i] < fix[i]))
{
info +=
'\n Product : ' + prod +
'\n Installed version : ' + version +
'\n Fixed version : ' + fixed_version + '\n';
break;
}
else if (ver[i] > fix[i])
break;
}
# Report findings.
if (info)
{
gs_opt = get_kb_item("global_settings/report_verbosity");
if (gs_opt && gs_opt != 'Quiet') security_hole(port:0, extra:info);
else security_hole(0);
exit(0);
}
else
{
if (max_index(keys(installs)) == 0) exit(0, "Office for Mac / Open XML File Format Converter is not installed.");
else
{
msg = 'The host has ';
foreach prod (sort(keys(installs)))
msg += prod + ' ' + installs[prod] + ' and ';
msg = substr(msg, 0, strlen(msg)-1-strlen(' and '));
msg += ' installed and thus is not affected.';
exit(0, msg);
}
}
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0821
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0822
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0823
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0824
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1245
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1248
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1249
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1250
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1251
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1252
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1253
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1254
technet.microsoft.com/en-us/security/bulletin/ms10-038