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 Bug 1334933

# 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 Bug 1328861

# 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 Bug 1334876

# 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 Bug 1340186

# 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 Bug 1340138

# 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 Bug 1306890

# 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 Bug 1336622

# 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 Bug 1330687

# 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 Bug 1325511

# 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 Bug 1321814

# 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 Bug 1313711

# 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 Bug 1328323

# 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 Bug 1337504

# 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 Bug 1319370

# 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 Bug 1321719

# 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 Bug 1328121

# 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 Bug 791597

# 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 Bug 1322716

# 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 Bug 1257361

# 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 Bug 1295542

# 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 Bug 1338876

# 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 Bug 1312243

# 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 Bug 1284395

# 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 Bug 1336699

# 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 Bug 1301876

# 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 Bug 1295002

# 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 Memory safety bugs fixed in Firefox 52