The version of Mozilla Firefox installed on the remote macOS or Mac OS X host is prior to 51. It is, therefore, affected by the following vulnerabilities :
Mozilla developers and community members Christian Holler, Gary Kwong, Andre Bargull, Jan de Mooij, Tom Schuster, and Oriol reported memory safety bugs present in Firefox 50.1 and Firefox ESR 45.6. Some of these bugs showed evidence of memory corruption and we presume that with enough effort that some of these could be exploited to run arbitrary code.
(CVE-2017-5373)
Mozilla developers and community members Gary Kwong, Olli Pettay, Tooru Fujisawa, Carsten Book, Andrew McCreight, Chris Pearce, Ronald Crane, Jan de Mooij, Julian Seward, Nicolas Pierron, Randell Jesup, Esther Monchari, Honza Bambas, and Philipp reported memory safety bugs present in Firefox 50.1. Some of these bugs showed evidence of memory corruption and we presume that with enough effort that some of these could be exploited to run arbitrary code. (CVE-2017-5374)
JIT code allocation can allow for a bypass of ASLR and DEP protections leading to potential memory corruption attacks. (CVE-2017-5375)
Use-after-free while manipulating XSL in XSLT documents (CVE-2017-5376)
A memory corruption vulnerability in Skia that can occur when using transforms to make gradients, resulting in a potentially exploitable crash.
(CVE-2017-5377)
Hashed codes of JavaScript objects are shared between pages. This allows for pointer leaks because an object’s address can be discovered through hash codes, and also allows for data leakage of an object’s content using these hash codes. (CVE-2017-5378)
Use-after-free vulnerability in Web Animations when interacting with cycle collection found through fuzzing. (CVE-2017-5379)
A potential use-after-free found through fuzzing during DOM manipulation of SVG content. (CVE-2017-5380)
The ‘export’ function in the Certificate Viewer can force local filesystem navigation when the ‘common name’ in a certificate contains slashes, allowing certificate content to be saved in unsafe locations with an arbitrary filename. (CVE-2017-5381)
Feed preview for RSS feeds can be used to capture errors and exceptions generated by privileged content, allowing for the exposure of internal information not meant to be seen by web content. (CVE-2017-5382)
URLs containing certain unicode glyphs for alternative hyphens and quotes do not properly trigger punycode display, allowing for domain name spoofing attacks in the location bar. (CVE-2017-5383)
Proxy Auto-Config (PAC) files can specify a JavaScript function called for all URL requests with the full URL path which exposes more information than would be sent to the proxy itself in the case of HTTPS. Normally the Proxy Auto-Config file is specified by the user or machine owner and presumed to be non-malicious, but if a user has enabled Web Proxy Auto Detect (WPAD) this file can be served remotely. (CVE-2017-5384)
Data sent with in multipart channels, such as the multipart/x-mixed-replace MIME type, will ignore the referrer-policy response header, leading to potential information disclosure for sites using this header.
(CVE-2017-5385)
WebExtension scripts can use the ‘data:’ protocol to affect pages loaded by other web extensions using this protocol, leading to potential data disclosure or privilege escalation in affected extensions.
(CVE-2017-5386)
The existence of a specifically requested local file can be found due to the double firing of the ‘onerror’ when the ‘source’ attribute on a <track> tag refers to a file that does not exist if the source page is loaded locally. (CVE-2017-5387)
A STUN server in conjunction with a large number of ‘webkitRTCPeerConnection’ objects can be used to send large STUN packets in a short period of time due to a lack of rate limiting being applied on e10s systems, allowing for a denial of service attack. (CVE-2017-5388)
WebExtensions could use the ‘mozAddonManager’ API by modifying the CSP headers on sites with the appropriate permissions and then using host requests to redirect script loads to a malicious site. This allows a malicious extension to then install additional extensions without explicit user permission.
(CVE-2017-5389)
The JSON viewer in the Developer Tools uses insecure methods to create a communication channel for copying and viewing JSON or HTTP headers data, allowing for potential privilege escalation. (CVE-2017-5390)
Special ‘about:’ pages used by web content, such as RSS feeds, can load privileged ‘about:’ pages in an iframe.
If a content-injection bug were found in one of those pages this could allow for potential privilege escalation. (CVE-2017-5391)
The ‘mozAddonManager’ allows for the installation of extensions from the CDN for addons.mozilla.org, a publicly accessible site. This could allow malicious extensions to install additional extensions from the CDN in combination with an XSS attack on Mozilla AMO sites.
(CVE-2017-5393)
A use-after-free vulnerability in the Media Decoder when working with media files when some events are fired after the media elements are freed from memory.
(CVE-2017-5396)
Note that Tenable Network Security has extracted the preceding description block directly from the Mozilla security advisories.
Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
#
# (C) Tenable Network Security, Inc.
#
include("compat.inc");
if (description)
{
script_id(96774);
script_version("1.8");
script_cvs_date("Date: 2019/11/13");
script_cve_id(
"CVE-2017-5373",
"CVE-2017-5374",
"CVE-2017-5375",
"CVE-2017-5376",
"CVE-2017-5377",
"CVE-2017-5378",
"CVE-2017-5379",
"CVE-2017-5380",
"CVE-2017-5381",
"CVE-2017-5382",
"CVE-2017-5383",
"CVE-2017-5384",
"CVE-2017-5385",
"CVE-2017-5386",
"CVE-2017-5387",
"CVE-2017-5388",
"CVE-2017-5389",
"CVE-2017-5390",
"CVE-2017-5391",
"CVE-2017-5393",
"CVE-2017-5396"
);
script_bugtraq_id(
95757,
95758,
95759,
95761,
95762,
95763,
95769
);
script_xref(name:"MFSA", value:"2017-01");
script_name(english:"Mozilla Firefox < 51 Multiple Vulnerabilities (macOS)");
script_summary(english:"Checks the version of Firefox.");
script_set_attribute(attribute:"synopsis", value:
"The remote macOS or Mac OS X host contains a web browser that is
affected by multiple vulnerabilities.");
script_set_attribute(attribute:"description", value:
"The version of Mozilla Firefox installed on the remote macOS or Mac
OS X host is prior to 51. It is, therefore, affected by the following
vulnerabilities :
- Mozilla developers and community members Christian
Holler, Gary Kwong, Andre Bargull, Jan de Mooij, Tom
Schuster, and Oriol reported memory safety bugs present
in Firefox 50.1 and Firefox ESR 45.6. Some of these
bugs showed evidence of memory corruption and we
presume that with enough effort that some of these
could be exploited to run arbitrary code.
(CVE-2017-5373)
- Mozilla developers and community members Gary Kwong,
Olli Pettay, Tooru Fujisawa, Carsten Book, Andrew
McCreight, Chris Pearce, Ronald Crane, Jan de Mooij,
Julian Seward, Nicolas Pierron, Randell Jesup, Esther
Monchari, Honza Bambas, and Philipp reported memory
safety bugs present in Firefox 50.1. Some of these bugs
showed evidence of memory corruption and we presume
that with enough effort that some of these could be
exploited to run arbitrary code. (CVE-2017-5374)
- JIT code allocation can allow for a bypass of ASLR and
DEP protections leading to potential memory corruption
attacks. (CVE-2017-5375)
- Use-after-free while manipulating XSL in XSLT documents
(CVE-2017-5376)
- A memory corruption vulnerability in Skia that can
occur when using transforms to make gradients,
resulting in a potentially exploitable crash.
(CVE-2017-5377)
- Hashed codes of JavaScript objects are shared between
pages. This allows for pointer leaks because an object's
address can be discovered through hash codes, and also
allows for data leakage of an object's content using
these hash codes. (CVE-2017-5378)
- Use-after-free vulnerability in Web Animations when
interacting with cycle collection found through
fuzzing. (CVE-2017-5379)
- A potential use-after-free found through fuzzing during
DOM manipulation of SVG content. (CVE-2017-5380)
- The 'export' function in the Certificate Viewer can
force local filesystem navigation when the 'common
name' in a certificate contains slashes, allowing
certificate content to be saved in unsafe locations
with an arbitrary filename. (CVE-2017-5381)
- Feed preview for RSS feeds can be used to capture
errors and exceptions generated by privileged content,
allowing for the exposure of internal information not
meant to be seen by web content. (CVE-2017-5382)
- URLs containing certain unicode glyphs for alternative
hyphens and quotes do not properly trigger punycode
display, allowing for domain name spoofing attacks in
the location bar. (CVE-2017-5383)
- Proxy Auto-Config (PAC) files can specify a JavaScript
function called for all URL requests with the full URL
path which exposes more information than would be sent
to the proxy itself in the case of HTTPS. Normally the
Proxy Auto-Config file is specified by the user or
machine owner and presumed to be non-malicious, but if
a user has enabled Web Proxy Auto Detect (WPAD) this
file can be served remotely. (CVE-2017-5384)
- Data sent with in multipart channels, such as the
multipart/x-mixed-replace MIME type, will ignore the
referrer-policy response header, leading to potential
information disclosure for sites using this header.
(CVE-2017-5385)
- WebExtension scripts can use the 'data:' protocol to
affect pages loaded by other web extensions using this
protocol, leading to potential data disclosure or
privilege escalation in affected extensions.
(CVE-2017-5386)
- The existence of a specifically requested local file
can be found due to the double firing of the 'onerror'
when the 'source' attribute on a <track> tag refers to
a file that does not exist if the source page is loaded
locally. (CVE-2017-5387)
- A STUN server in conjunction with a large number of
'webkitRTCPeerConnection' objects can be used to send
large STUN packets in a short period of time due to a
lack of rate limiting being applied on e10s systems,
allowing for a denial of service attack. (CVE-2017-5388)
- WebExtensions could use the 'mozAddonManager' API by
modifying the CSP headers on sites with the appropriate
permissions and then using host requests to redirect
script loads to a malicious site. This allows a
malicious extension to then install additional
extensions without explicit user permission.
(CVE-2017-5389)
- The JSON viewer in the Developer Tools uses insecure
methods to create a communication channel for copying
and viewing JSON or HTTP headers data, allowing for
potential privilege escalation. (CVE-2017-5390)
- Special 'about:' pages used by web content, such as RSS
feeds, can load privileged 'about:' pages in an iframe.
If a content-injection bug were found in one of those
pages this could allow for potential privilege
escalation. (CVE-2017-5391)
- The 'mozAddonManager' allows for the installation of
extensions from the CDN for addons.mozilla.org, a
publicly accessible site. This could allow malicious
extensions to install additional extensions from the CDN
in combination with an XSS attack on Mozilla AMO sites.
(CVE-2017-5393)
- A use-after-free vulnerability in the Media Decoder
when working with media files when some events are
fired after the media elements are freed from memory.
(CVE-2017-5396)
Note that Tenable Network Security has extracted the preceding
description block directly from the Mozilla security advisories.
Tenable has attempted to automatically clean and format it as much as
possible without introducing additional issues.");
script_set_attribute(attribute:"see_also", value:"https://www.mozilla.org/en-US/security/advisories/mfsa2017-01/");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1017616");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1255474");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1281482");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1285833");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1285960");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1288561");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1293327");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1295023");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1295322");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1295747");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1295945");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1297361");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1297808");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1300145");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1302231");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1306883");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1307458");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1308688");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1309198");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1309282");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1309310");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1311319");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1311687");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1312001");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1313385");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1315447");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1317501");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1318766");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1319070");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1319456");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1319888");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1321374");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1322107");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1322305");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1322315");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1322420");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1323338");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1324716");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1324810");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1325200");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1325344");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1325877");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1325938");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1328251");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1328834");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1329403");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1329989");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1330769");
script_set_attribute(attribute:"see_also", value:"https://bugzilla.mozilla.org/show_bug.cgi?id=1331058");
# https://www.contextis.com//resources/blog/leaking-https-urls-20-year-old-vulnerability/
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?4d11b233");
script_set_attribute(attribute:"solution", value:
"Upgrade to Mozilla Firefox version 51.0 or later.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:H/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-5396");
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:"vuln_publication_date", value:"2017/01/24");
script_set_attribute(attribute:"patch_publication_date", value:"2017/01/24");
script_set_attribute(attribute:"plugin_publication_date", value:"2017/01/25");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/a:mozilla:firefox");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"MacOS X Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("macosx_firefox_installed.nasl");
script_require_keys("MacOSX/Firefox/Installed");
exit(0);
}
include("mozilla_version.inc");
kb_base = "MacOSX/Firefox";
get_kb_item_or_exit(kb_base+"/Installed");
version = get_kb_item_or_exit(kb_base+"/Version", exit_code:1);
path = get_kb_item_or_exit(kb_base+"/Path", exit_code:1);
if (get_kb_item(kb_base + '/is_esr')) exit(0, 'The Mozilla Firefox installation is in the ESR branch.');
mozilla_check_version(product:'firefox', version:version, path:path, esr:FALSE, fix:'51', severity:SECURITY_HOLE);
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5373
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5374
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5375
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5376
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5377
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5378
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5379
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5380
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5381
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5382
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5383
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5384
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5385
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5386
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5387
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5388
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5389
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5390
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5391
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5393
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5396
www.nessus.org/u?4d11b233
bugzilla.mozilla.org/show_bug.cgi?id=1017616
bugzilla.mozilla.org/show_bug.cgi?id=1255474
bugzilla.mozilla.org/show_bug.cgi?id=1281482
bugzilla.mozilla.org/show_bug.cgi?id=1285833
bugzilla.mozilla.org/show_bug.cgi?id=1285960
bugzilla.mozilla.org/show_bug.cgi?id=1288561
bugzilla.mozilla.org/show_bug.cgi?id=1293327
bugzilla.mozilla.org/show_bug.cgi?id=1295023
bugzilla.mozilla.org/show_bug.cgi?id=1295322
bugzilla.mozilla.org/show_bug.cgi?id=1295747
bugzilla.mozilla.org/show_bug.cgi?id=1295945
bugzilla.mozilla.org/show_bug.cgi?id=1297361
bugzilla.mozilla.org/show_bug.cgi?id=1297808
bugzilla.mozilla.org/show_bug.cgi?id=1300145
bugzilla.mozilla.org/show_bug.cgi?id=1302231
bugzilla.mozilla.org/show_bug.cgi?id=1306883
bugzilla.mozilla.org/show_bug.cgi?id=1307458
bugzilla.mozilla.org/show_bug.cgi?id=1308688
bugzilla.mozilla.org/show_bug.cgi?id=1309198
bugzilla.mozilla.org/show_bug.cgi?id=1309282
bugzilla.mozilla.org/show_bug.cgi?id=1309310
bugzilla.mozilla.org/show_bug.cgi?id=1311319
bugzilla.mozilla.org/show_bug.cgi?id=1311687
bugzilla.mozilla.org/show_bug.cgi?id=1312001
bugzilla.mozilla.org/show_bug.cgi?id=1313385
bugzilla.mozilla.org/show_bug.cgi?id=1315447
bugzilla.mozilla.org/show_bug.cgi?id=1317501
bugzilla.mozilla.org/show_bug.cgi?id=1318766
bugzilla.mozilla.org/show_bug.cgi?id=1319070
bugzilla.mozilla.org/show_bug.cgi?id=1319456
bugzilla.mozilla.org/show_bug.cgi?id=1319888
bugzilla.mozilla.org/show_bug.cgi?id=1321374
bugzilla.mozilla.org/show_bug.cgi?id=1322107
bugzilla.mozilla.org/show_bug.cgi?id=1322305
bugzilla.mozilla.org/show_bug.cgi?id=1322315
bugzilla.mozilla.org/show_bug.cgi?id=1322420
bugzilla.mozilla.org/show_bug.cgi?id=1323338
bugzilla.mozilla.org/show_bug.cgi?id=1324716
bugzilla.mozilla.org/show_bug.cgi?id=1324810
bugzilla.mozilla.org/show_bug.cgi?id=1325200
bugzilla.mozilla.org/show_bug.cgi?id=1325344
bugzilla.mozilla.org/show_bug.cgi?id=1325877
bugzilla.mozilla.org/show_bug.cgi?id=1325938
bugzilla.mozilla.org/show_bug.cgi?id=1328251
bugzilla.mozilla.org/show_bug.cgi?id=1328834
bugzilla.mozilla.org/show_bug.cgi?id=1329403
bugzilla.mozilla.org/show_bug.cgi?id=1329989
bugzilla.mozilla.org/show_bug.cgi?id=1330769
bugzilla.mozilla.org/show_bug.cgi?id=1331058
www.mozilla.org/en-US/security/advisories/mfsa2017-01/