Mozilla Foundation Security Advisory 2018-11

Security vulnerabilities fixed in Firefox 60

Announced
May 9, 2018
Impact
critical
Products
Firefox
Fixed in
  • Firefox 60

#CVE-2018-5154: Use-after-free with SVG animations and clip paths

Reporter
Nils
Impact
high
Description

A use-after-free vulnerability can occur while enumerating attributes during SVG animations with clip paths. This results in a potentially exploitable crash.

References

#CVE-2018-5155: Use-after-free with SVG animations and text paths

Reporter
Nils
Impact
high
Description

A use-after-free vulnerability can occur while adjusting layout during SVG animations with text paths. This results in a potentially exploitable crash.

References

#CVE-2018-5157: Same-origin bypass of PDF Viewer to view protected PDF files

Reporter
Wladimir Palant
Impact
high
Description

Same-origin protections for the PDF viewer can be bypassed, allowing a malicious site to intercept messages meant for the viewer. This could allow the site to retrieve PDF files restricted to viewing by an authenticated user on a third-party website.

References

#CVE-2018-5158: Malicious PDF can inject JavaScript into PDF Viewer

Reporter
Wladimir Palant
Impact
high
Description

The PDF viewer does not sufficiently sanitize PostScript calculator functions, allowing malicious JavaScript to be injected through a crafted PDF file. This JavaScript can then be run with the permissions of the PDF viewer by its worker.

References

#CVE-2018-5159: Integer overflow and out-of-bounds write in Skia

Reporter
Ivan Fratric
Impact
high
Description

An integer overflow can occur in the Skia library due to 32-bit integer use in an array without integer overflow checks, resulting in possible out-of-bounds writes. This could lead to a potentially exploitable crash triggerable by web content.

References

#CVE-2018-5160: Uninitialized memory use by WebRTC encoder

Reporter
Andreas Perhson
Impact
high
Description

WebRTC can use a WrappedI420Buffer pixel buffer but the owning image object can be freed while it is still in use. This can result in the WebRTC encoder using uninitialized memory, leading to a potentially exploitable crash.

References

#CVE-2018-5152: WebExtensions information leak through webRequest API

Reporter
Andy McKay
Impact
moderate
Description

WebExtensions with the appropriate permissions can attach content scripts to Mozilla sites such as accounts.firefox.com and listen to network traffic to the site through the webRequest API. For example, this allows for the interception of username and an encrypted password during login to Firefox Accounts. This issue does not expose synchronization traffic directly and is limited to the process of user login to the website and the data displayed to the user once logged in.

References

#CVE-2018-5153: Out-of-bounds read in mixed content websocket messages

Reporter
Dennis Fuchs
Impact
moderate
Description

If websocket data is sent with mixed text and binary in a single message, the binary data can be corrupted. This can result in an out-of-bounds read with the read memory sent to the originating server in response.

References

#CVE-2018-5163: Replacing cached data in JavaScript Start-up Bytecode Cache

Reporter
Nicolas B. Pierron
Impact
moderate
Description

If a malicious attacker has used another vulnerability to gain full control over a content process, they may be able to replace the alternate data resources stored in the JavaScript Start-up Bytecode Cache (JSBC) for other JavaScript code. If the parent process then runs this replaced code, the executed script would be run with the parent process' privileges, escaping the sandbox on content processes.

References

#CVE-2018-5164: CSP not applied to all multipart content sent with multipart/x-mixed-replace

Reporter
Khalil Zhani
Impact
moderate
Description

Content Security Policy (CSP) is not applied correctly to all parts of multipart content sent with the multipart/x-mixed-replace MIME type. This could allow for script to run where CSP should block it, allowing for cross-site scripting (XSS) and other attacks.

References

#CVE-2018-5166: WebExtension host permission bypass through filterReponseData

Reporter
Francois Lajeunesse Robert
Impact
moderate
Description

WebExtensions can use request redirection and a filterReponseData filter to bypass host permission settings to redirect network traffic and access content from a host for which they do not have explicit user permission.

References

#CVE-2018-5167: Improper linkification of chrome: and javascript: content in web console and JavaScript debugger

Reporter
Wladimir Palant
Impact
moderate
Description

The web console and JavaScript debugger do not sanitize all output that can be hyperlinked. Both will display chrome: links as active, clickable hyperlinks in their output. Web sites should not be able to directly link to internal chrome pages. Additionally, the JavaScript debugger will display javascript: links, which users could be tricked into clicking by malicious sites.

References

#CVE-2018-5168: Lightweight themes can be installed without user interaction

Reporter
Wladimir Palant
Impact
moderate
Description

Sites can bypass security checks on permissions to install lightweight themes by manipulating the baseURI property of the theme element. This could allow a malicious site to install a theme without user interaction which could contain offensive or embarrassing images.

References

#CVE-2018-5169: Dragging and dropping link text onto home button can set home page to include chrome pages

Reporter
Abdulrahman Alqabandi
Impact
moderate
Description

If manipulated hyperlinked text with chrome: URL contained in it is dragged and dropped on the "home" icon, the home page can be reset to include a normally-unlinkable chrome page as one of the home page tabs.

References

#CVE-2018-5172: Pasted script from clipboard can run in the Live Bookmarks page or PDF viewer

Reporter
Abdulrahman Alqabandi
Impact
moderate
Description

The Live Bookmarks page and the PDF viewer can run injected script content if a user pastes script from the clipboard into them while viewing RSS feeds or PDF files. This could allow a malicious site to socially engineer a user to copy and paste malicious script content that could then run with the context of either page but does not allow for privilege escalation.

References

#CVE-2018-5173: File name spoofing of Downloads panel with Unicode characters

Reporter
Abdulrahman Alqabandi
Impact
moderate
Description

The filename appearing in the Downloads panel improperly renders some Unicode characters, allowing for the file name to be spoofed. This can be used to obscure the file extension of potentially executable files from user view in the panel.
Note: the dialog to open the file will show the full, correct filename and whether it is executable or not.

References

#CVE-2018-5174: Windows Defender SmartScreen UI runs with less secure behavior for downloaded files in Windows 10 April 2018 Update

Reporter
Jimmy
Impact
moderate
Description

In the Windows 10 April 2018 Update, Windows Defender SmartScreen honors the SEE_MASK_FLAG_NO_UI flag associated with downloaded files and will not show any UI. Files that are unknown and potentially dangerous will be allowed to run because SmartScreen will not prompt the user for a decision, and if the user is offline all files will be allowed to be opened because Windows won’t prompt the user to ask what to do. Firefox incorrectly sets this flag when downloading files, leading to less secure behavior from SmartScreen.
Note: this issue only affects Windows 10 users running the April 2018 update or later. It does not affect other Windows users or other operating systems.

References

#CVE-2018-5175: Universal CSP bypass on sites using strict-dynamic in their policies

Reporter
Masato Kinugawa
Impact
moderate
Description

A mechanism to bypass Content Security Policy (CSP) protections on sites that have a script-src policy of 'strict-dynamic'. If a target website contains an HTML injection flaw an attacker could inject a reference to a copy of the require.js library that is part of Firefox’s Developer Tools, and then use a known technique using that library to bypass the CSP restrictions on executing injected scripts.

References

#CVE-2018-5176: JSON Viewer script injection

Reporter
Tadj Youssouf
Impact
moderate
Description

The JSON Viewer displays clickable hyperlinks for strings that are parseable as URLs, including javascript: links. If a JSON file contains malicious JavaScript script embedded as javascript: links, users may be tricked into clicking and running this code in the context of the JSON Viewer. This can allow for the theft of cookies and authorization tokens which are accessible to that context.

References

#CVE-2018-5177: Buffer overflow in XSLT during number formatting

Reporter
Guyio
Impact
moderate
Description

A vulnerability exists in XSLT during number formatting where a negative buffer size may be allocated in some instances, leading to a buffer overflow and crash if it occurs.

References

#CVE-2018-5165: Checkbox for enabling Flash protected mode is inverted in 32-bit Firefox

Reporter
David Parks
Impact
low
Description

In 32-bit versions of Firefox, the Adobe Flash plugin setting for "Enable Adobe Flash protected mode" is unchecked by default even though the Adobe Flash sandbox is actually enabled. The displayed state is the reverse of the true setting, resulting in user confusion. This could cause users to select this setting intending to activate it and inadvertently turn protections off.

References

#CVE-2018-5180: heap-use-after-free in mozilla::WebGLContext::DrawElementsInstanced

Reporter
Nils
Impact
low
Description

A use-after-free vulnerability can occur during WebGL operations. While this results in a potentially exploitable crash, the vulnerability is limited because the memory is freed and reused in a brief window of time during the freeing of the same callstack.

References

#CVE-2018-5181: Local file can be displayed in noopener tab through drag and drop of hyperlink

Reporter
Abdulrahman Alqabandi
Impact
low
Description

If a URL using the file: protocol is dragged and dropped onto an open tab that is running in a different child process the tab will open a local file corresponding to the dropped URL, contrary to policy. One way to make the target tab open more reliably in a separate process is to open it with the noopener keyword.

References

#CVE-2018-5182: Local file can be displayed from hyperlink dragged and dropped on addressbar

Reporter
Jordi Chancel
Impact
low
Description

If a text string that happens to be a filename in the operating system's native format is dragged and dropped onto the addressbar the specified local file will be opened. This is contrary to policy and is what would happen if the string were the equivalent file: URL.

References

#CVE-2018-5179: Service workers can self update to keep a worker running

Reporter
Yannic Bonenberger
Impact
low
Description

A service worker can send the "activate" event on itself periodically which allows it to run perpetually. This would allow any malicious activity, such as logging an IP address by the service worker, to occur in the background.

References

#CVE-2018-5151: Memory safety bugs fixed in Firefox 60

Reporter
Mozilla developers and community
Impact
critical
Description

Mozilla developers and community members Christoph Diehl, Christian Holler, Jon Coppeard, Jason Kratzer, Nathan Froyd, Paul Theriault, Ryan VanderMeulen, Tyson Smith, Sebastian Hengst, Byron Campen, Emilio Cobos Álvarez, Ronald Crane, and Phillipp reported memory safety bugs present in Firefox 59. 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.

References

#CVE-2018-5150: Memory safety bugs fixed in Firefox 60 and Firefox ESR 52.8

Reporter
Mozilla developers and community
Impact
critical
Description

Mozilla developers and community members Christoph Diehl, Randell Jesup, Tyson Smith, Alex Gaynor, Ronald Crane, Julian Hector, Kannan Vijayan, and Jason Kratzer reported memory safety bugs present in Firefox 59 and Firefox ESR 52.7. 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.

References