Mozilla Foundation Security Advisory 2017-05

Security vulnerabilities fixed in Firefox 52

Announced
March 7, 2017
Impact
critical
Products
Firefox
Fixed in
  • Firefox 52

#CVE-2017-5400: asm.js JIT-spray bypass of ASLR and DEP

Reporter
Rh0
Impact
critical
Description

JIT-spray targeting asm.js combined with a heap spray allows for a bypass of ASLR and DEP protections leading to potential memory corruption attacks.

References

#CVE-2017-5401: Memory Corruption when handling ErrorResult

Reporter
Anton Eliasson
Impact
critical
Description

A crash triggerable by web content in which an ErrorResult references unassigned memory due to a logic error. The resulting crash may be exploitable.

References

#CVE-2017-5402: Use-after-free working with events in FontFace objects

Reporter
Nils
Impact
critical
Description

A use-after-free can occur when events are fired for a FontFace object after the object has been already been destroyed while working with fonts. This results in a potentially exploitable crash.

References

#CVE-2017-5403: Use-after-free using addRange to add range to an incorrect root object

Reporter
Nils
Impact
critical
Description

When adding a range to an object in the DOM, it is possible to use addRange to add the range to an incorrect root object. This triggers a use-after-free, resulting in a potentially exploitable crash.

References

#CVE-2017-5404: Use-after-free working with ranges in selections

Reporter
Ivan Fratric of Google Project Zero
Impact
critical
Description

A use-after-free error can occur when manipulating ranges in selections with one node inside a native anonymous tree and one node outside of it. This results in a potentially exploitable crash.

References

#CVE-2017-5406: Segmentation fault in Skia with canvas operations

Reporter
Atte Kettunen
Impact
high
Description

A segmentation fault can occur in the Skia graphics library during some canvas operations due to issues with mask/clip intersection and empty masks.

References

#CVE-2017-5407: Pixel and history stealing via floating-point timing side channel with SVG filters

Reporter
David Kohlbrenner
Impact
high
Description

Using SVG filters that don't use the fixed point math implementation on a target iframe, a malicious page can extract pixel values from a targeted user. This can be used to extract history information and read text values across domains. This violates same-origin policy and leads to information disclosure.

References

#CVE-2017-5410: Memory corruption during JavaScript garbage collection incremental sweeping

Reporter
Jerri Rice
Impact
high
Description

Memory corruption resulting in a potentially exploitable crash during garbage collection of JavaScript due errors in how incremental sweeping is managed for memory cleanup.

References

#CVE-2017-5411: Use-after-free in Buffer Storage in libGLES

Reporter
Looben Yang
Impact
high
Description

A use-after-free can occur during buffer storage operations within the ANGLE graphics library, used for WebGL content. The buffer storage can be freed while still in use in some circumstances, leading to a potentially exploitable crash.
Note: This issue is in libGLES, which is only in use on Windows. Other operating systems are not affected.

References

#CVE-2017-5409: File deletion via callback parameter in Mozilla Windows Updater and Maintenance Service

Reporter
Holger Fuhrmannek
Impact
moderate
Description

The Mozilla Windows updater can be called by a non-privileged user to delete an arbitrary local file by passing a special path to the callback parameter through the Mozilla Maintenance Service, which has privileged access.
Note: This attack requires local system access and only affects Windows. Other operating systems are not affected.

References

#CVE-2017-5408: Cross-origin reading of video captions in violation of CORS

Reporter
Eric Lawrence of Chrome Security
Impact
moderate
Description

Video files loaded video captions cross-origin without checking for the presence of CORS headers permitting such cross-origin use, leading to potential information disclosure for video captions.

References

#CVE-2017-5412: Buffer overflow read in SVG filters

Reporter
Atte Kettunen
Impact
moderate
Description

A buffer overflow read during SVG filter color value operations, resulting in data exposure.

References

#CVE-2017-5413: Segmentation fault during bidirectional operations

Reporter
Atte Kettunen
Impact
moderate
Description

A segmentation fault can occur during some bidirectional layout operations.

References

#CVE-2017-5414: File picker can choose incorrect default directory

Reporter
Abdulrahman Alqabandi
Impact
moderate
Description

The file picker dialog can choose and display the wrong local default directory when instantiated. On some operating systems, this can lead to information disclosure, such as the operating system or the local account name.

References

#CVE-2017-5415: Addressbar spoofing through blob URL

Reporter
Abdulrahman Alqabandi
Impact
moderate
Description

An attack can use a blob URL and script to spoof an arbitrary addressbar URL prefaced by blob: as the protocol, leading to user confusion and further spoofing attacks.

References

#CVE-2017-5416: Null dereference crash in HttpChannel

Reporter
Radek 'sysKin' Czyz
Impact
moderate
Description

In certain circumstances a networking event listener can be prematurely released. This appears to result in a null dereference in practice.

References

#CVE-2017-5417: Addressbar spoofing by draging and dropping URLs

Reporter
Michal Zalewski
Impact
moderate
Description

When dragging content from the primary browser pane to the addressbar on a malicious site, it is possible to change the addressbar so that the displayed location following navigation does not match the URL of the newly loaded page. This allows for spoofing attacks.

References

#CVE-2017-5425: Overly permissive Gecko Media Plugin sandbox regular expression access

Reporter
Haik Aftandilian
Impact
moderate
Description

The Gecko Media Plugin sandbox allows access to local files that match specific regular expressions. On OS OX, this matching allows access to some data in subdirectories of /private/var that could expose personal or temporary data. This has been updated to not allow access to /private/var and its subdirectories.
Note: this issue only affects OS X. Other operating systems are not affected.

References

#CVE-2017-5426: Gecko Media Plugin sandbox is not started if seccomp-bpf filter is running

Reporter
Jed Davis
Impact
moderate
Description

On Linux, if the secure computing mode BPF (seccomp-bpf) filter is running when the Gecko Media Plugin sandbox is started, the sandbox fails to be applied and items that would run within the sandbox are run protected only by the running filter which is typically weak compared to the sandbox.
Note: this issue only affects Linux. Other operating systems are not affected.

References

#CVE-2017-5427: Non-existent chrome.manifest file loaded during startup

Reporter
Mike Kaply
Impact
moderate
Description

A non-existent chrome.manifest file will attempt to be loaded during startup from the primary installation directory. If a malicious user with local access puts chrome.manifest and other referenced files in this directory, they will be loaded and activated during startup. This could result in malicious software being added without consent or modification of referenced installed files.

References

#CVE-2017-5418: Out of bounds read when parsing HTTP digest authorization responses

Reporter
Anonymous
Impact
low
Description

An out of bounds read error occurs when parsing some HTTP digest authorization responses, resulting in information leakage through the reading of random memory containing matches to specifically set patterns.

References

#CVE-2017-5419: Repeated authentication prompts lead to DOS attack

Reporter
Chris Hamono
Impact
low
Description

If a malicious site repeatedly triggers a modal authentication prompt, eventually the browser UI will become non-responsive, requiring shutdown through the operating system. This is a denial of service (DOS) attack.

References

#CVE-2017-5420: Javascript: URLs can obfuscate addressbar location

Reporter
Abdulrahman Alqabandi
Impact
low
Description

A javascript: url loaded by a malicious page can obfuscate its location by blanking the URL displayed in the addressbar, allowing for an attacker to spoof an existing page without the malicious page's address being displayed correctly.

References

#CVE-2017-5405: FTP response codes can cause use of uninitialized values for ports

Reporter
Anonymous
Impact
low
Description

Certain response codes in FTP connections can result in the use of uninitialized values for ports in FTP operations.

References

#CVE-2017-5421: Print preview spoofing

Reporter
Abdulrahman Alqabandi
Impact
low
Description

A malicious site could spoof the contents of the print preview window if popup windows are enabled, resulting in user confusion of what site is currently loaded.

References

#CVE-2017-5422: DOS attack by using view-source: protocol repeatedly in one hyperlink

Reporter
Alex Bolton
Impact
low
Description

If a malicious site uses the view-source: protocol in a series within a single hyperlink, it can trigger a non-exploitable browser crash when the hyperlink is selected. This was fixed by no longer making view-source: linkable.

References

#CVE-2017-5399: Memory safety bugs fixed in Firefox 52

Reporter
Mozilla developers and community
Impact
critical
Description

Mozilla developers and community members Carsten Book, Calixte Denizet, Christian Holler, Andrew McCreight, David Bolter, David Keeler, Jon Coppeard, Tyson Smith, Ronald Crane, Tooru Fujisawa, Ben Kelly, Bob Owen, Jed Davis, Julian Seward, Julian Hector, Philipp, Markus Stange, and André Bargull reported memory safety bugs present in Firefox 51. 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-2017-5398: Memory safety bugs fixed in Firefox 52 and Firefox ESR 45.8

Reporter
Mozilla developers and community
Impact
critical
Description

Mozilla developers and community members Boris Zbarsky, Christian Holler, Honza Bambas, Jon Coppeard, Randell Jesup, André Bargull, Kan-Ru Chen, and Nathan Froyd reported memory safety bugs present in Firefox 51 and Firefox ESR 45.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