head 1.8; access; symbols pkgsrc-2020Q1:1.5.0.8 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.10 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.6 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.4 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.2 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.4.0.2 pkgsrc-2018Q4-base:1.4 pkgsrc-2018Q3:1.3.0.8 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.6 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.4 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.2 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.2.0.4 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.1.0.2 pkgsrc-2017Q2-base:1.1; locks; strict; comment @// @; 1.8 date 2020.06.14.18.42.19; author maya; state dead; branches; next 1.7; commitid n0eh88AVY79JSdcC; 1.7 date 2020.05.04.21.29.08; author maya; state Exp; branches; next 1.6; commitid Fdr6eEiMEbFp8Y6C; 1.6 date 2020.05.03.18.45.30; author maya; state Exp; branches; next 1.5; commitid O1Yq1enRDGEpfP6C; 1.5 date 2019.01.29.16.28.22; author ryoon; state Exp; branches; next 1.4; commitid 6ZD5e5dNV9phiH9B; 1.4 date 2018.11.04.00.38.44; author ryoon; state Exp; branches; next 1.3; commitid VDnZtZgWK5fTNyYA; 1.3 date 2017.09.30.05.34.12; author ryoon; state Exp; branches; next 1.2; commitid FvJcfB7R3sEnib9A; 1.2 date 2017.08.10.14.46.15; author ryoon; state Exp; branches; next 1.1; commitid rDI4h24RNI2oZF2A; 1.1 date 2017.06.29.08.07.59; author martin; state Exp; branches; next ; commitid XgciHdaOPaTe8fXz; desc @@ 1.8 log @firefox: different way of avoiding pshared semaphores for NetBSD NetBSD has slightly (NetBSD>=9.x) or very (NetBSD<8) broken pshared semaphores. Fortunately, so does macOS, so there's an easy way to avoid reaching the code relying on it which works better. Do so for NetBSD unconditionally, and enable multiprocess unconditionally. Avoids PR kern/55386 for NetBSD>9.0 Avoids corrupt output on major websites, webGL bugs, etc. for NetBSD<=9.0 @ text @$NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.7 2020/05/04 21:29:08 maya Exp $ --- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2019-01-18 00:20:30.000000000 +0000 +++ ipc/glue/CrossProcessSemaphore_posix.cpp @@@@ -9,6 +9,12 @@@@ #include "nsDebug.h" #include "nsISupportsImpl.h" #include +#if defined(__NetBSD__) +#include +#include +#include +#include +#endif static const uint64_t kNsPerMs = 1000000; static const uint64_t kNsPerSec = 1000000000; @@@@ -16,7 +22,13 @@@@ static const uint64_t kNsPerSec = 100000 namespace { struct SemaphoreData { +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + pthread_mutex_t mMutex; + pthread_cond_t mNotZero; + uint32_t mValue; +#else sem_t mSemaphore; +#endif mozilla::Atomic mRefCount; uint32_t mInitialValue; }; @@@@ -43,13 +55,27 @@@@ CrossProcessSemaphore* CrossProcessSemap return nullptr; } +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + data->mValue = aInitialValue; + if (pthread_mutex_init(&data->mMutex, NULL) || + pthread_cond_init(&data->mNotZero, NULL) ) { + return nullptr; + } +#else if (sem_init(&data->mSemaphore, 1, aInitialValue)) { return nullptr; } +#endif CrossProcessSemaphore* sem = new CrossProcessSemaphore; sem->mSharedBuffer = sharedBuffer; +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + sem->mMutex = &data->mMutex; + sem->mNotZero = &data->mNotZero; + sem->mValue = &data->mValue; +#else sem->mSemaphore = &data->mSemaphore; +#endif sem->mRefCount = &data->mRefCount; *sem->mRefCount = 1; @@@@ -85,23 +111,44 @@@@ CrossProcessSemaphore* CrossProcessSemap int32_t oldCount = data->mRefCount++; if (oldCount == 0) { +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + if (pthread_mutex_init(&data->mMutex, NULL) || + pthread_cond_init(&data->mNotZero, NULL) ) { + data->mRefCount--; + return nullptr; + } +#else // The other side has already let go of their CrossProcessSemaphore, so now // mSemaphore is garbage. We need to re-initialize it. if (sem_init(&data->mSemaphore, 1, data->mInitialValue)) { data->mRefCount--; return nullptr; } +#endif } CrossProcessSemaphore* sem = new CrossProcessSemaphore; sem->mSharedBuffer = sharedBuffer; +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + sem->mMutex = &data->mMutex; + sem->mNotZero = &data->mNotZero; + sem->mValue = &data->mValue; +#else sem->mSemaphore = &data->mSemaphore; +#endif sem->mRefCount = &data->mRefCount; return sem; } CrossProcessSemaphore::CrossProcessSemaphore() - : mSemaphore(nullptr), mRefCount(nullptr) { +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + : mMutex (nullptr) + , mNotZero (nullptr) + , mValue (nullptr) +#else + : mSemaphore(nullptr) +#endif + , mRefCount(nullptr) { MOZ_COUNT_CTOR(CrossProcessSemaphore); } @@@@ -110,16 +157,57 @@@@ CrossProcessSemaphore::~CrossProcessSema if (oldCount == 0) { // Nothing can be done if the destroy fails so ignore return code. +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + (void)pthread_cond_destroy(mNotZero); + (void)pthread_mutex_destroy(mMutex); +#else Unused << sem_destroy(mSemaphore); +#endif } MOZ_COUNT_DTOR(CrossProcessSemaphore); } +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) +static struct timespec +makeAbsTime(const Maybe& aWaitTime) { + struct timespec ts; + if (aWaitTime.isSome()) { + clock_gettime(CLOCK_REALTIME, &ts); + ts.tv_nsec += (kNsPerMs * aWaitTime->ToMilliseconds()); + ts.tv_sec += ts.tv_nsec / kNsPerSec; + ts.tv_nsec %= kNsPerSec; + } + else { + ts.tv_sec = std::numeric_limits::max(); + ts.tv_nsec = 0; + } + return ts; +} +#endif + bool CrossProcessSemaphore::Wait(const Maybe& aWaitTime) { MOZ_ASSERT(*mRefCount > 0, "Attempting to wait on a semaphore with zero ref count"); int ret; +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + struct timespec ts = makeAbsTime(aWaitTime); + + ret = pthread_mutex_lock(mMutex); + + if (ret == 0) { + while (ret == 0 && mValue == 0) { + ret = pthread_cond_timedwait(mNotZero, mMutex, &ts); + while (ret == -1 && errno == EINTR) { + ret = pthread_cond_timedwait(mNotZero, mMutex, &ts); + } + } + if (ret == 0) { + --(*mValue); + } + pthread_mutex_unlock(mMutex); + } +#else if (aWaitTime.isSome()) { struct timespec ts; if (clock_gettime(CLOCK_REALTIME, &ts) == -1) { @@@@ -136,13 +224,24 @@@@ bool CrossProcessSemaphore::Wait(const M while ((ret = sem_wait(mSemaphore)) == -1 && errno == EINTR) { } } +#endif return ret == 0; } void CrossProcessSemaphore::Signal() { MOZ_ASSERT(*mRefCount > 0, "Attempting to signal a semaphore with zero ref count"); +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000001) + int ret; + ret = pthread_mutex_lock(mMutex); + if (ret == 0) { + ++(*mValue); + pthread_cond_signal(mNotZero); + pthread_mutex_unlock(mMutex); + } +#else sem_post(mSemaphore); +#endif } CrossProcessSemaphoreHandle CrossProcessSemaphore::ShareToProcess( @ 1.7 log @firefox: disable multiprocess firefox on netbsd 9.0 release too (needs a kernel patch) PKGREVISION++ @ text @d1 1 a1 1 $NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.6 2020/05/03 18:45:30 maya Exp $ @ 1.6 log @firefox: limit disbling multiprocess firefox to netbsd-8. The patches might be safe to remove altogether (disabling multiprocess should be enough), but it's not necessary for netbsd-9 in general, as it has working pshared semaphores. Fixes a lot of issues with Firefox, like WebGL not working. PKGREVISION++ @ text @d1 1 a1 1 $NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.5 2019/01/29 16:28:22 ryoon Exp $ d22 1 a22 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d36 1 a36 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d50 1 a50 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d64 1 a64 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d82 1 a82 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d95 1 a95 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d110 1 a110 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d121 1 a121 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d143 1 a143 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) d175 1 a175 1 +#if defined(__NetBSD__) && (__NetBSD_Version__ < 900000000) @ 1.5 log @Updatet to 65.0 Changelog: New Enhanced tracking protection: Simplified content blocking settings give users standard, strict, and custom options to control online trackers. A redesigned content blocking section in the site information panel (viewed by expanding the small “i” icon in the address bar) shows what Firefox detects and blocks on each website you visit. To learn more about content blocking, visit the Mozilla Blog. A better experience for multilingual users: An updated Language section in Preferences allows users to install multiple language packs and order language preferences for Firefox and websites, without having to download locale-specific versions. Support for Handoff on macOS: Continue browsing across devices. Pick up where you left off with iOS (via Firefox or Safari) on Firefox on Mac. A better video streaming experience for Windows users: Firefox now supports the next-generation, royalty-free video compression technology called AV1. Read about Mozilla’s contribution to this new open standard. Improved performance and web compatibility, with support for the WebP image format: WebP brings the same image quality as existing formats at smaller file sizes, which saves bandwidth and speeds up page load. Fixed Various security fixes. Changed Enhanced security for macOS, Linux, and Android users via stronger stack smashing protection which is now enabled by default for all platforms. "Stack smashing" is a common security attack in which malicious actors corrupt or take control of a vulnerable program. Firefox will now warn you when closing a window (regardless of whether you have automatic session restore enabled for restart). Easier performance management: The revamped Task Manager page found at about:performance now reports memory usage for tabs and add-ons. Improved the pop-up blocker to prevent multiple pop-up windows from being opened by websites at the same time. Security fixes: Not available yet. @ text @d1 1 a1 1 $NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.4 2018/11/04 00:38:44 ryoon Exp $ d5 1 a5 1 @@@@ -9,6 +9,11 @@@@ d10 1 d18 1 a18 1 @@@@ -16,7 +21,13 @@@@ static const uint64_t kNsPerSec = 100000 d22 1 a22 1 +#if defined(__NetBSD__) d32 1 a32 1 @@@@ -42,13 +53,27 @@@@ namespace mozilla { d36 1 a36 1 +#if defined(__NetBSD__) d50 1 a50 1 +#if defined(__NetBSD__) d60 1 a60 1 @@@@ -83,23 +108,44 @@@@ namespace mozilla { d64 1 a64 1 +#if defined(__NetBSD__) d82 1 a82 1 +#if defined(__NetBSD__) d95 1 a95 1 +#if defined(__NetBSD__) d106 1 a106 1 @@@@ -108,16 +154,57 @@@@ CrossProcessSemaphore::~CrossProcessSema d110 1 a110 1 +#if defined(__NetBSD__) d121 1 a121 1 +#if defined(__NetBSD__) d143 1 a143 1 +#if defined(__NetBSD__) d164 1 a164 1 @@@@ -134,13 +221,24 @@@@ bool CrossProcessSemaphore::Wait(const M d175 1 a175 1 +#if defined(__NetBSD__) @ 1.4 log @Update to 63.0.1 * Minimize pkgsrc specific patches. * A build system written in Rust lang does not find a C++ header files from pkgsrc (non-base) GCC, this version is not buildable on NetBSD 7. I will investigate this problem again. Changelog: 63.0.1 Fixed Snippets are not loaded due to missing element (bug 1503047) Print preview always shows 30% scale when it is actually Shrink To Fit (bug 1501952) Dialog displayed when closing multiple windows shows unreplaced %1$S placeholder in Japanese and potentially other locales (bug 1500823) 63.0 New Performance and visual improvements for Windows users Performance improvements for macOS users Added content blocking, a collection of Firefox settings that offer users greater control over technology that can track them around the web. In 63, users can opt to block third-party tracking cookies or block all trackers and create exceptions for trusted sites that don't work correctly with content blocking enabled. WebExtensions now run in their own process on Linux Firefox now warns about having multiple windows and tabs open when quitting from the main menu. The Save and Quit feature has been removed. You can restore your session by ticking the box for Restore previous session in the General->Startup options or by using Restore Previous Session in the main menu. Firefox now recognizes the operating system accessibility setting for reducing animation Added search shortcuts for Top Sites: Amazon and Google appear as Top Sites tiles on the Firefox Home (New Tab) page. When selected these tiles will change focus to the address bar to initiate a search. Currently in US only. Fixed Resolved an issue that prevented the address bar from autofilling bookmarked URLs in certain cases Various security fixes Changed In the Library, the Open in Sidebar feature for individual bookmarks was removed The option to Never check for updates was removed from about:preferences. You can use the DisableAppUpdate enterprise policy as a substitute. The Ctrl+Tab shortcut now displays thumbnail previews of your tabs and cycles through tabs in recently used order. This new default behavior is activated only in new profiles and can be changed in preferences. #CVE-2018-12391: HTTP Live Stream audio data is accessible cross-origin #CVE-2018-12392: Crash with nested event loops #CVE-2018-12393: Integer overflow during Unicode conversion while loading JavaScript #CVE-2018-12395: WebExtension bypass of domain restrictions through header rewriting #CVE-2018-12396: WebExtension content scripts can execute in disallowed contexts #CVE-2018-12397: Missing warning prompt when WebExtension requests local file access #CVE-2018-12398: CSP bypass through stylesheet injection in resource URIs #CVE-2018-12399: Spoofing of protocol registration notification bar #CVE-2018-12400: Favicons are cached in private browsing mode on Firefox for Android #CVE-2018-12401: DOS attack through special resource URI parsing #CVE-2018-12402: SameSite cookies leak when pages are explicitly saved #CVE-2018-12403: Mixed content warning is not displayed when HTTPS page loads a favicon over HTTP #CVE-2018-12388: Memory safety bugs fixed in Firefox 63 #CVE-2018-12390: Memory safety bugs fixed in Firefox 63 and Firefox ESR 60.3 @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2018-10-18 20:06:05.000000000 +0000 d17 2 a18 2 @@@@ -17,7 +22,13 @@@@ namespace { d31 1 a31 1 @@@@ -44,13 +55,27 @@@@ CrossProcessSemaphore::Create(const char d59 1 a59 1 @@@@ -86,24 +111,44 @@@@ CrossProcessSemaphore::Create(CrossProce a91 1 d93 1 d99 1 a99 1 : mSemaphore(nullptr) d101 1 a101 2 , mRefCount(nullptr) { d103 3 a105 1 @@@@ -115,17 +160,58 @@@@ CrossProcessSemaphore::~CrossProcessSema d138 3 a140 4 bool CrossProcessSemaphore::Wait(const Maybe& aWaitTime) { MOZ_ASSERT(*mRefCount > 0, "Attempting to wait on a semaphore with zero ref count"); d163 1 a163 1 @@@@ -142,6 +228,7 @@@@ CrossProcessSemaphore::Wait(const Maybe< d171 3 a173 4 @@@@ -149,7 +236,17 @@@@ void CrossProcessSemaphore::Signal() { MOZ_ASSERT(*mRefCount > 0, "Attempting to signal a semaphore with zero ref count"); d187 1 a187 1 CrossProcessSemaphoreHandle @ 1.3 log @Update to 56.0 New Launched Firefox Screenshots, a feature that lets users take, save, and share screenshots without leaving the browser Added support for address form autofill (en-US only) Updated Preferences Added search tool so users can find a specific setting quickly Reorganized preferences so users can more easily scan settings Rewrote descriptions so users can better understand choices and how they affect browsing Revised data collection choices so they align with updated Privacy Notice and data collection strategy Media opened in a background tab will not play until the tab is selected Improved Send Tabs feature of Sync for iOS and Android, and Send Tabs can be discovered even by users without a Firefox Account Changed Replaced character encoding converters with a new Encoding Standard-compliant implementation written in Rust Added hardware acceleration for AES-GCM Updated the Safe Browsing protocol to version 4 Reduced update download file size by approximately 20 percent Improved security for verifying update downloads Developer Added Layout Panel to CSS Grid DevTools @ text @d1 1 a1 1 $NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.2 2017/08/10 14:46:15 ryoon Exp $ d3 1 a3 4 - avoid use of sem_t on NetBSD http://mail-index.netbsd.org/pkgsrc-bugs/2017/06/23/msg062225.html --- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2017-09-14 20:16:01.000000000 +0000 d59 1 a59 1 @@@@ -84,24 +109,44 @@@@ CrossProcessSemaphore::Create(CrossProce d104 1 a104 1 @@@@ -113,17 +158,58 @@@@ CrossProcessSemaphore::~CrossProcessSema d163 1 a163 1 @@@@ -140,6 +226,7 @@@@ CrossProcessSemaphore::Wait(const Maybe< d171 1 a171 1 @@@@ -147,7 +234,17 @@@@ void @ 1.2 log @Update to 55.0 Changelog: New Launched Windows support for WebVR, bringing immersive experiences to the web. See examples and try working demos at Mozilla VR. Added options that let users optimize recent performance improvements Setting to enable Hardware VP9 acceleration on Windows 10 Anniversary Edition for better battery life and lower CPU usage while watching videos Setting to modify the number of concurrent content processes for faster page loading and more responsive tab switching Simplified installation process with a streamlined Windows stub installer Firefox for Windows 64-bit is now installed by default on 64-bit systems with at least 2GB of RAM Full installers with advanced installation options are still available Improved address bar functionality Search with any installed one-click search engine directly from the address bar Search suggestions appear by default When entering a hostname (like pinterest.com) in the URL bar, Firefox resolves to the secure version of the site (https://www.pinterest.com) instead of the insecure version (http://www.pinterest.com) when possible Updated Sidebar for bookmarks, history, and synced tabs so it can appear at the right edge of the window as well as the left Added support for stereo microphones with WebRTC Pages can be simplified before printing from within Print Preview Updated Firefox for OSX and macOS to allow users to assign custom keyboard shortcuts to Firefox menu items via System Preferences Browsing sessions with a high number of tabs are now restored in an instant Make screenshots of webpages, and save them locally or upload them to the cloud. This feature will undergo A/B testing and will not be visible for some users. Added Belarusian (be) locale Fixed Various security fixes Changed Made the Adobe Flash plugin click-to-activate by default and allowed only on http:// and https:// URL schemes. (This change will not be visible to all users immediately. For more information see the Firefox plugin roadmap) Firefox does not support downgrades, even though this may have worked in past versions. Users who install Firefox 55+ and later downgrade to an earlier version may experience issues with Firefox. Modernized application update UI to be less intrusive and more aligned with the rest of the browser. Only users who have not restarted their browser 8 days after downloading an update or users who opted out of automatic updates will see this change. Security fixes: CVE-2017-7798: XUL injection in the style editor in devtools Reporter Frederik Braun Impact critical Description The Developer Tools feature suffers from a XUL injection vulnerability due to improper sanitization of the web page source code. In the worst case, this could allow arbitrary code execution when opening a malicious page with the style editor tool. References Bug 1371586, 1372112 #CVE-2017-7800: Use-after-free in WebSockets during disconnection Reporter Looben Yang Impact critical Description A use-after-free vulnerability can occur in WebSockets when the object holding the connection is freed before the disconnection operation is finished. This results in an exploitable crash. References Bug 1374047 #CVE-2017-7801: Use-after-free with marquee during window resizing Reporter Nils Impact critical Description A use-after-free vulnerability can occur while re-computing layout for a marquee element during window resizing where the updated style object is freed while still in use. This results in a potentially exploitable crash. References Bug 1371259 #CVE-2017-7809: Use-after-free while deleting attached editor DOM node Reporter Nils Impact high Description A use-after-free vulnerability can occur when an editor DOM node is deleted prematurely during tree traversal while still bound to the document. This results in a potentially exploitable crash. References Bug 1380284 #CVE-2017-7784: Use-after-free with image observers Reporter Nils Impact high Description A use-after-free vulnerability can occur when reading an image observer during frame reconstruction after the observer has been freed. This results in a potentially exploitable crash. References Bug 1376087 #CVE-2017-7802: Use-after-free resizing image elements Reporter Nils Impact high Description A use-after-free vulnerability can occur when manipulating the DOM during the resize event of an image element. If these elements have been freed due to a lack of strong references, a potentially exploitable crash may occur when the freed elements are accessed. References Bug 1378147 #CVE-2017-7785: Buffer overflow manipulating ARIA attributes in DOM Reporter Nils Impact high Description A buffer overflow can occur when manipulating Accessible Rich Internet Applications (ARIA) attributes within the DOM. This results in a potentially exploitable crash. References Bug 1356985 #CVE-2017-7786: Buffer overflow while painting non-displayable SVG Reporter Nils Impact high Description A buffer overflow can occur when the image renderer attempts to paint non-displayable SVG elements. This results in a potentially exploitable crash. References Bug 1365189 #CVE-2017-7806: Use-after-free in layer manager with SVG Reporter Nils Impact high Description A use-after-free vulnerability can occur when the layer manager is freed too early when rendering specific SVG content, resulting in a potentially exploitable crash. References Bug 1378113 #CVE-2017-7753: Out-of-bounds read with cached style data and pseudo-elements Reporter SkyLined Impact high Description An out-of-bounds read occurs when applying style rules to pseudo-elements, such as ::first-line, using cached style data. References Bug 1353312 #CVE-2017-7787: Same-origin policy bypass with iframes through page reloads Reporter Oliver Wagner Impact high Description Same-origin policy protections can be bypassed on pages with embedded iframes during page reloads, allowing the iframes to access content on the top level page, leading to information disclosure. References Bug 1322896 #CVE-2017-7807: Domain hijacking through AppCache fallback Reporter Mathias Karlsson Impact high Description A mechanism that uses AppCache to hijack a URL in a domain using fallback by serving the files from a sub-path on the domain. This has been addressed by requiring fallback files be inside the manifest directory. References Bug 1376459 #CVE-2017-7792: Buffer overflow viewing certificates with an extremely long OID Reporter Fraser Tweedale Impact high Description A buffer overflow will occur when viewing a certificate in the certificate manager if the certificate has an extremely long object identifier (OID). This results in a potentially exploitable crash. References Bug 1368652 #CVE-2017-7804: Memory protection bypass through WindowsDllDetourPatcher Reporter Stephen Fewer Impact high Description The destructor function for the WindowsDllDetourPatcher class can be re-purposed by malicious code in concert with another vulnerability to write arbitrary data to an attacker controlled location in memory. This can be used to bypass existing memory protections in this situation. Note: This attack only affects Windows operating systems. Other operating systems are not affected. References Bug 1372849 #CVE-2017-7791: Spoofing following page navigation with data: protocol and modal alerts Reporter Jose María Acuña Impact moderate Description On pages containing an iframe, the data: protocol can be used to create a modal alert that will render over arbitrary domains following page navigation, spoofing of the origin of the modal alert from the iframe content. References Bug 1365875 #CVE-2017-7808: CSP information leak with frame-ancestors containing paths Reporter Jun Kokatsu Impact moderate Description A content security policy (CSP) frame-ancestors directive containing origins with paths allows for comparisons against those paths instead of the origin. This results in a cross-origin information leak of this path information. References Bug 1367531 #CVE-2017-7782: WindowsDllDetourPatcher allocates memory without DEP protections Reporter Arthur Edelstein Impact moderate Description An error in the WindowsDllDetourPatcher where a RWX ("Read/Write/Execute") 4k block is allocated but never protected, violating DEP protections. Note: This attack only affects Windows operating systems. Other operating systems are not affected. References Bug 1344034 #CVE-2017-7781: Elliptic curve point addition error when using mixed Jacobian-affine coordinates Reporter Antonio Sanso Impact moderate Description An error occurs in the elliptic curve point addition algorithm that uses mixed Jacobian-affine coordinates where it can yield a result POINT_AT_INFINITY when it should not. A man-in-the-middle attacker could use this to interfere with a connection, resulting in an attacked party computing an incorrect shared secret. References Bug 1352039 #CVE-2017-7794: Linux file truncation via sandbox broker Reporter Jann Horn Impact moderate Description On Linux systems, if the content process is compromised, the sandbox broker will allow files to be truncated even though the sandbox explicitly only has read access to the local file system and no write permissions. Note: This attack only affects the Linux operating system. Other operating systems are not affected. References Bug 1374281 #CVE-2017-7803: CSP containing 'sandbox' improperly applied Reporter Rhys Enniks Impact moderate Description When a page’s content security policy (CSP) header contains a sandbox directive, other directives are ignored. This results in the incorrect enforcement of CSP. References Bug 1377426 #CVE-2017-7799: Self-XSS XUL injection in about:webrtc Reporter Frederik Braun Impact moderate Description JavaScript in the about:webrtc page is not sanitized properly being being assigned to innerHTML. Data on this page is supplied by WebRTC usage and is not under third-party control, making this difficult to exploit, but the vulnerability could possibly be used for a cross-site scripting (XSS) attack. References Bug 1372509 #CVE-2017-7783: DOS attack through long username in URL Reporter Amit Sangra Impact low Description If a long user name is used in a username/password combination in a site URL (such as http://UserName:Password@@example.com), the resulting modal prompt will hang in a non-responsive state or crash, causing a denial of service. References Bug 1360842 #CVE-2017-7788: Sandboxed about:srcdoc iframes do not inherit CSP directives Reporter Muneaki Nishimura Impact low Description When an iframe has a sandbox attribute and its content is specified using srcdoc, that content does not inherit the containing page's Content Security Policy (CSP) as it should unless the sandbox attribute included allow-same-origin. References Bug 1073952 #CVE-2017-7789: Failure to enable HSTS when two STS headers are sent for a connection Reporter Muneaki Nishimura Impact low Description If a server sends two Strict-Transport-Security (STS) headers for a single connection, they will be rejected as invalid and HTTP Strict Transport Security (HSTS) will not be enabled for the connection. References Bug 1074642 #CVE-2017-7790: Windows crash reporter reads extra memory for some non-null-terminated registry values Reporter Xiaoyin Liu Impact low Description On Windows systems, if non-null-terminated strings are copied into the crash reporter for some specific registry keys, stack memory data can be copied until a null is found. This can potentially contain private data from the local system. Note: This attack only affects Windows operating systems. Other operating systems are not affected. References Bug 1350460 #CVE-2017-7796: Windows updater can delete any file named update.log Reporter Matt Howell Impact low Description On Windows systems, the logger run by the Windows updater deletes the file "update.log" before it runs in order to write a new log of that name. The path to this file is supplied at the command line to the updater and could be used in concert with another local exploit to delete a different file named "update.log" instead of the one intended. Note: This attack only affects Windows operating systems. Other operating systems are not affected. References Bug 1234401 #CVE-2017-7797: Response header name interning leaks across origins Reporter Anne van Kesteren Impact low Description Response header name interning does not have same-origin protections and these headers are stored in a global registry. This allows stored header names to be available cross-origin. References Bug 1334776 #CVE-2017-7780: Memory safety bugs fixed in Firefox 55 Reporter Mozilla developers and community Impact critical Description Mozilla developers and community members Gary Kwong, Christian Holler, André Bargull, Bob Clary, Carsten Book, Emilio Cobos Álvarez, Masayuki Nakano, Sebastian Hengst, Franziskus Kiefer, Tyson Smith, and Ronald Crane reported memory safety bugs present in Firefox 54. 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 55 #CVE-2017-7779: Memory safety bugs fixed in Firefox 55 and Firefox ESR 52.3 Reporter Mozilla developers and community Impact critical Description Mozilla developers and community members Masayuki Nakano, Gary Kwong, Ronald Crane, Andrew McCreight, Tyson Smith, Bevis Tseng, Christian Holler, Bryce Van Dyk, Dragana Damjanovic, Kartikaya Gupta, Philipp, Tristan Bourvon, and Andi-Bogdan Postelnicu reported memory safety bugs present in Firefox 54 and Firefox ESR 52.2. 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 55 and Firefox ESR 52.3 @ text @d1 1 a1 1 $NetBSD: patch-ipc_glue_CrossProcessSemaphore__posix.cpp,v 1.1 2017/06/29 08:07:59 martin Exp $ d6 1 a6 1 --- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2017-07-31 16:20:47.000000000 +0000 d166 2 a167 2 @@@@ -142,6 +228,7 @@@@ CrossProcessSemaphore::Wait(const Maybe< continue; d174 1 a174 1 @@@@ -149,7 +236,17 @@@@ void @ 1.1 log @Add patch from PR 51966. @ text @d1 1 a1 1 $NetBSD$ d6 1 a6 1 --- ipc/glue/CrossProcessSemaphore_posix.cpp.orig 2017-06-25 05:29:49.000000000 +0000 d53 2 a54 2 + sem->mMutex = &data->mMutex; + sem->mNotZero = &data->mNotZero; d85 2 a86 2 + sem->mMutex = &data->mMutex; + sem->mNotZero = &data->mNotZero; @