Shared security patch analysis results
AI Used: DEEPSEEK deepseek-chat--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/netwerk/protocol/http/nsHttpActivityDistributor.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/netwerk/protocol/http/nsHttpActivityDistributor.h@@ -30,6 +30,7 @@ Mutex mLock{"nsHttpActivityDistributor.mLock"}; bool mActivated{false}; bool mObserveProxyResponse{false};+ bool mObserveConnection{false}; }; } // namespace net
Analyzing the provided code diff, here's the security assessment: 1. Vulnerability Existed: not sure [Potentially Missing Security Observation] [netwerk/protocol/http/nsHttpActivityDistributor.h] [Lines 30-33] [Old Code] Mutex mLock{"nsHttpActivityDistributor.mLock"}; bool mActivated{false}; bool mObserveProxyResponse{false}; [Fixed Code] Mutex mLock{"nsHttpActivityDistributor.mLock"}; bool mActivated{false}; bool mObserveProxyResponse{false}; bool mObserveConnection{false}; Additional Context: - The diff shows the addition of a new boolean flag `mObserveConnection` to monitor connection activity - While this appears to be adding new observation capability, I cannot determine if this fixes a specific vulnerability without more context - The change might be related to improving security monitoring rather than fixing an existing vulnerability - The mutex lock is maintained, suggesting thread safety considerations remain in place
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/compositing/2d.composite.image.source-out.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/compositing/2d.composite.image.source-out.worker.js@@ -13,8 +13,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = 'rgba(0, 255, 255, 0.5)';@@ -32,7 +32,7 @@ promise.then(function(response) { createImageBitmap(response).then(bitmap => { ctx.drawImage(bitmap, 0, 0);- _assertPixelApprox(offscreenCanvas, 50,25, 255,255,0,96, "50,25", "255,255,0,96", 5);+ _assertPixelApprox(canvas, 50,25, 255,255,0,96, "50,25", "255,255,0,96", 5); }, t_fail); }).then(t_pass, t_fail);
Here's the analysis following the required format: Vulnerability Existed: no [Variable Renaming] [testing/web-platform/tests/html/canvas/offscreen/compositing/2d.composite.image.source-out.worker.js] [Lines 13-14, 32] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixelApprox(offscreenCanvas, 50,25, 255,255,0,96, "50,25", "255,255,0,96", 5); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixelApprox(canvas, 50,25, 255,255,0,96, "50,25", "255,255,0,96", 5); Additional Details: This appears to be a simple variable renaming change from `offscreenCanvas` to `canvas`. There are no security vulnerabilities being fixed here - it's just a code style/consistency improvement. The functionality remains exactly the same, only the variable name has changed. No security implications were identified in this diff.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-fonts/font-variant-east-asian.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-fonts/font-variant-east-asian.html@@ -5,7 +5,6 @@ <link rel="author" title="John Daggett" href="mailto:[email protected]"/> <link rel="help" href="http://www.w3.org/TR/css-fonts-3/#font-variant-east-asian-prop"/> <link rel="match" href="font-variant-east-asian-ref.html"/>-<meta name="flags" content=""/> <meta name="assert" content="Values of font-variant-east-asian should enable specific features without enabling others"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="support/fonts/gsubtest-features.js"></script>
Based on the provided diff, I'll analyze it for potential security vulnerabilities: Vulnerability Existed: no No specific vulnerability [testing/web-platform/tests/css/css-fonts/font-variant-east-asian.html] [Lines 5] [Old Code] <meta name="flags" content=""/> [Fixed Code] (removed line) Additional Details: 1. The change simply removes a meta "flags" tag which appears to be test-related metadata. 2. There's no indication this was related to any security vulnerability. 3. The change seems to be a test cleanup rather than a security fix. 4. No known vulnerability patterns (XSS, injection, etc.) are present in this change. The modification appears to be a benign update to the test file's metadata structure rather than addressing any security concern. The removed line was likely unnecessary test configuration that was cleaned up in the newer version.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/js/src/gc/Sweeping.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/gc/Sweeping.cpp@@ -471,14 +471,20 @@ template <class ZoneIterT> IncrementalProgress GCRuntime::markWeakReferences( SliceBudget& incrementalBudget) {+ MOZ_ASSERT(!marker.isWeakMarking());+ gcstats::AutoPhase ap1(stats(), gcstats::PhaseKind::SWEEP_MARK_WEAK); auto unlimited = SliceBudget::unlimited(); SliceBudget& budget = marker.incrementalWeakMapMarkingEnabled ? incrementalBudget : unlimited;- // We may have already entered weak marking mode.- if (!marker.isWeakMarking() && marker.enterWeakMarkingMode()) {+ // Ensure we don't return to the mutator while we're still in weak marking+ // mode.+ auto leaveOnExit =+ mozilla::MakeScopeExit([&] { marker.leaveWeakMarkingMode(); });++ if (marker.enterWeakMarkingMode()) { // Do not rely on the information about not-yet-marked weak keys that have // been collected by barriers. Clear out the gcEphemeronEdges entries and // rebuild the full table. Note that this a cross-zone operation; delegate@@ -495,19 +501,10 @@ for (ZoneIterT zone(this); !zone.done(); zone.next()) { if (zone->enterWeakMarkingMode(&marker, budget) == NotFinished) {- MOZ_ASSERT(marker.incrementalWeakMapMarkingEnabled);- marker.leaveWeakMarkingMode(); return NotFinished; } } }-- // This is not strictly necessary; if we yield here, we could run the mutator- // in weak marking mode and unmark gray would end up doing the key lookups.- // But it seems better to not slow down barriers. Re-entering weak marking- // mode will be fast since already-processed markables have been removed.- auto leaveOnExit =- mozilla::MakeScopeExit([&] { marker.leaveWeakMarkingMode(); }); bool markedAny = true; while (markedAny) {@@ -1065,7 +1062,6 @@ } AutoSetMarkColor setColorGray(marker, MarkColor::Gray);- marker.setMainStackColor(MarkColor::Gray); // Mark incoming gray pointers from previously swept compartments. markIncomingGrayCrossCompartmentPointers();@@ -1090,7 +1086,6 @@ return NotFinished; }- marker.setMainStackColor(MarkColor::Black); return Finished; }@@ -1109,7 +1104,6 @@ } AutoSetMarkColor setColorGray(marker, MarkColor::Gray);- marker.setMainStackColor(MarkColor::Gray); // Mark transitively inside the current compartment group. if (markWeakReferencesInCurrentGroup(budget) == NotFinished) {@@ -1117,7 +1111,6 @@ } MOZ_ASSERT(marker.isDrained());- marker.setMainStackColor(MarkColor::Black); // We must not yield after this point before we start sweeping the group. safeToYield = false;
Here's the analysis of the provided code diff for security fixes: 1. Vulnerability Existed: yes Weak Marking Mode Management Issue [js/src/gc/Sweeping.cpp] [Lines 471-501] Old Code: ``` // We may have already entered weak marking mode. if (!marker.isWeakMarking() && marker.enterWeakMarkingMode()) { ``` Fixed Code: ``` MOZ_ASSERT(!marker.isWeakMarking()); ... auto leaveOnExit = mozilla::MakeScopeExit([&] { marker.leaveWeakMarkingMode(); }); if (marker.enterWeakMarkingMode()) { ``` Additional Details: The fix ensures proper management of weak marking mode by using RAII (ScopeExit) to guarantee leaving weak marking mode and adding an assertion to verify the initial state. 2. Vulnerability Existed: not sure Potential Race Condition in Marking [js/src/gc/Sweeping.cpp] [Lines 1065-1090, 1109-1117] Old Code: ``` AutoSetMarkColor setColorGray(marker, MarkColor::Gray); marker.setMainStackColor(MarkColor::Gray); ... marker.setMainStackColor(MarkColor::Black); ``` Fixed Code: ``` AutoSetMarkColor setColorGray(marker, MarkColor::Gray); ... // No explicit color reset needed ``` Additional Details: The removal of explicit color setting might indicate a fix for potential race conditions or consistency issues in marking state management, though the exact vulnerability isn't clear. 3. Vulnerability Existed: yes Weak Marking Mode Cleanup Issue [js/src/gc/Sweeping.cpp] [Lines 495-501] Old Code: ``` if (zone->enterWeakMarkingMode(&marker, budget) == NotFinished) { MOZ_ASSERT(marker.incrementalWeakMapMarkingEnabled); marker.leaveWeakMarkingMode(); return NotFinished; } ``` Fixed Code: ``` if (zone->enterWeakMarkingMode(&marker, budget) == NotFinished) { return NotFinished; } ``` Additional Details: The fix removes manual weak marking mode cleanup, relying instead on the RAII pattern established earlier, which ensures more reliable cleanup.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/accessible/ipc/win/RemoteAccessible.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/accessible/ipc/win/RemoteAccessible.cpp@@ -223,12 +223,12 @@ return state; }-nsIntRect RemoteAccessible::Bounds() const {+LayoutDeviceIntRect RemoteAccessible::Bounds() const { if (StaticPrefs::accessibility_cache_enabled_AtStartup()) { return RemoteAccessibleBase<RemoteAccessible>::Bounds(); }- nsIntRect rect;+ LayoutDeviceIntRect rect; RefPtr<IAccessible> acc; if (!GetCOMInterface((void**)getter_AddRefs(acc))) {@@ -557,11 +557,14 @@ aText = (wchar_t*)result; }-void RemoteAccessible::GetTextBeforeOffset(int32_t aOffset,- AccessibleTextBoundary aBoundaryType,- nsString& aText,- int32_t* aStartOffset,- int32_t* aEndOffset) {+void RemoteAccessible::TextBeforeOffset(int32_t aOffset,+ AccessibleTextBoundary aBoundaryType,+ int32_t* aStartOffset,+ int32_t* aEndOffset, nsAString& aText) {+ if (StaticPrefs::accessibility_cache_enabled_AtStartup()) {+ return RemoteAccessibleBase<RemoteAccessible>::TextBeforeOffset(+ aOffset, aBoundaryType, aStartOffset, aEndOffset, aText);+ } RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this); if (!acc) { return;@@ -581,11 +584,14 @@ aText = (wchar_t*)result; }-void RemoteAccessible::GetTextAfterOffset(int32_t aOffset,- AccessibleTextBoundary aBoundaryType,- nsString& aText,- int32_t* aStartOffset,- int32_t* aEndOffset) {+void RemoteAccessible::TextAfterOffset(int32_t aOffset,+ AccessibleTextBoundary aBoundaryType,+ int32_t* aStartOffset,+ int32_t* aEndOffset, nsAString& aText) {+ if (StaticPrefs::accessibility_cache_enabled_AtStartup()) {+ return RemoteAccessibleBase<RemoteAccessible>::TextAfterOffset(+ aOffset, aBoundaryType, aStartOffset, aEndOffset, aText);+ } RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this); if (!acc) { return;
Here's the analysis of the provided code diff following the specified format: 1. Vulnerability Existed: not sure [Potential Type Confusion] [accessible/ipc/win/RemoteAccessible.cpp] [Lines 223-232] [Old Code] nsIntRect RemoteAccessible::Bounds() const { if (StaticPrefs::accessibility_cache_enabled_AtStartup()) { return RemoteAccessibleBase<RemoteAccessible>::Bounds(); } nsIntRect rect; [Fixed Code] LayoutDeviceIntRect RemoteAccessible::Bounds() const { if (StaticPrefs::accessibility_cache_enabled_AtStartup()) { return RemoteAccessibleBase<RemoteAccessible>::Bounds(); } LayoutDeviceIntRect rect; Additional Details: The change from nsIntRect to LayoutDeviceIntRect might indicate a potential type safety issue being fixed, but without more context about how these types are used, it's unclear if this was actually a security fix. 2. Vulnerability Existed: not sure [Potential Buffer Overflow] [accessible/ipc/win/RemoteAccessible.cpp] [Lines 557-584] [Old Code] void RemoteAccessible::GetTextBeforeOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, nsString& aText, int32_t* aStartOffset, int32_t* aEndOffset) { [Fixed Code] void RemoteAccessible::TextBeforeOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, int32_t* aStartOffset, int32_t* aEndOffset, nsAString& aText) { if (StaticPrefs::accessibility_cache_enabled_AtStartup()) { return RemoteAccessibleBase<RemoteAccessible>::TextBeforeOffset( aOffset, aBoundaryType, aStartOffset, aEndOffset, aText); } Additional Details: The function signature change and addition of cache check might indicate a fix for potential buffer overflow or memory safety issues when handling text boundaries, but this is speculative without more context. 3. Vulnerability Existed: not sure [Potential Buffer Overflow] [accessible/ipc/win/RemoteAccessible.cpp] [Lines 584-611] [Old Code] void RemoteAccessible::GetTextAfterOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, nsString& aText, int32_t* aStartOffset, int32_t* aEndOffset) { [Fixed Code] void RemoteAccessible::TextAfterOffset(int32_t aOffset, AccessibleTextBoundary aBoundaryType, int32_t* aStartOffset, int32_t* aEndOffset, nsAString& aText) { if (StaticPrefs::accessibility_cache_enabled_AtStartup()) { return RemoteAccessibleBase<RemoteAccessible>::TextAfterOffset( aOffset, aBoundaryType, aStartOffset, aEndOffset, aText); } Additional Details: Similar to the previous entry, this change in function signature and addition of cache check might relate to memory safety, but the exact security implications aren't clear from the diff alone. Note: Without additional context about the threat model, attack vectors, or vulnerability reports associated with these changes, it's difficult to definitively identify security vulnerabilities. The changes appear to be more about type safety and architectural improvements than clear security fixes.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.closePath.newline.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.closePath.newline.html@@ -17,8 +17,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50);@@ -30,7 +30,7 @@ ctx.lineTo(200, 25); ctx.closePath(); ctx.stroke();-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); t.done(); });
After analyzing the provided code diff, here's the security assessment: 1. Vulnerability Existed: no No specific vulnerability found in the diff File: testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.closePath.newline.html Lines: 17-30 Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); Fixed Code: var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); The changes appear to be purely cosmetic, renaming the variable from `offscreenCanvas` to `canvas` for consistency or clarity. There are no security-related changes in this diff, and no known vulnerabilities are being addressed by this modification. The functionality remains exactly the same, only the variable name has changed.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/python/mozbuild/mozbuild/vendor/mach_commands.py+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/python/mozbuild/mozbuild/vendor/mach_commands.py@@ -29,18 +29,24 @@ @CommandArgument( "--add-to-exports", action="store_true",- help="Will attempt to add new header files into any relevant EXPORTS block",+ help="Will attempt to add new header files into any relevant EXPORTS block.", default=False, ) @CommandArgument( "--ignore-modified", action="store_true",- help="Ignore modified files in current checkout",+ help="Ignore modified files in current checkout.", default=False, ) @CommandArgument("-r", "--revision", help="Repository tag or commit to update to.") @CommandArgument(- "--verify", "-v", action="store_true", help="(Only) verify the manifest"+ "--verify", "-v", action="store_true", help="(Only) verify the manifest."+)+@CommandArgument(+ "--patch-mode",+ help="Select how vendored patches will be imported. 'none' skips patch import, and"+ "'only' imports patches and skips library vendoring.",+ default="", ) @CommandArgument("library", nargs=1, help="The moz.yaml file of the library to vendor.") def vendor(@@ -51,6 +57,7 @@ check_for_update=False, add_to_exports=False, verify=False,+ patch_mode="", ): """ Vendor third-party dependencies into the source repository.@@ -75,6 +82,28 @@ print(e) sys.exit(1)+ if patch_mode and patch_mode not in ["none", "only"]:+ print(+ "Unknown patch mode given '%s'. Please use one of: 'none' or 'only'."+ % patch_mode+ )+ sys.exit(1)+ if (+ manifest["vendoring"].get("patches", [])+ and not patch_mode+ and not check_for_update+ ):+ print(+ "Patch mode was not given when required. Please use one of: 'none' or 'only'"+ )+ sys.exit(1)+ if patch_mode == "only" and not manifest["vendoring"].get("patches", []):+ print(+ "Patch import was specified for %s but there are no vendored patches defined."+ % library+ )+ sys.exit(1)+ if not ignore_modified and not check_for_update: check_modified_files(command_context) if not revision:@@ -83,7 +112,14 @@ from mozbuild.vendor.vendor_manifest import VendorManifest vendor_command = command_context._spawn(VendorManifest)- vendor_command.vendor(library, manifest, revision, check_for_update, add_to_exports)+ vendor_command.vendor(+ library,+ manifest,+ revision,+ check_for_update,+ add_to_exports,+ patch_mode,+ ) sys.exit(0)
I'll analyze the code diff for security fixes following the specified format. Vulnerability Existed: not sure [Potential Input Validation Issue] [python/mozbuild/mozbuild/vendor/mach_commands.py] [Lines 29-82] [Old Code] @CommandArgument( "--verify", "-v", action="store_true", help="(Only) verify the manifest" ) [Fixed Code] @CommandArgument( "--verify", "-v", action="store_true", help="(Only) verify the manifest." ) @CommandArgument( "--patch-mode", help="Select how vendored patches will be imported. 'none' skips patch import, and" "'only' imports patches and skips library vendoring.", default="", ) Additional Details: The changes add input validation for a new `--patch-mode` parameter, which could potentially prevent command injection or invalid input issues. However, since this is a new feature rather than a fix to an existing vulnerability, it's not clear if this was addressing a specific security issue. Vulnerability Existed: not sure [Potential Error Handling Improvement] [python/mozbuild/mozbuild/vendor/mach_commands.py] [Lines 82-112] [Old Code] (No validation for patch_mode parameter) [Fixed Code] if patch_mode and patch_mode not in ["none", "only"]: print( "Unknown patch mode given '%s'. Please use one of: 'none' or 'only'." % patch_mode ) sys.exit(1) if ( manifest["vendoring"].get("patches", []) and not patch_mode and not check_for_update ): print( "Patch mode was not given when required. Please use one of: 'none' or 'only'" ) sys.exit(1) if patch_mode == "only" and not manifest["vendoring"].get("patches", []): print( "Patch import was specified for %s but there are no vendored patches defined." % library ) sys.exit(1) Additional Details: The added validation checks could prevent potential security issues related to improper patch handling, but since this appears to be new functionality rather than fixing existing code, it's unclear if this addresses a specific vulnerability. The improved error handling might prevent undefined behavior that could be exploited.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/streams/piping/multiple-propagation.any.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/streams/piping/multiple-propagation.any.js@@ -1,4 +1,4 @@-// META: global=window,worker,jsshell+// META: global=window,worker // META: script=../resources/test-utils.js // META: script=../resources/recording-streams.js 'use strict';
Let me analyze the code diff for potential security fixes: 1. Vulnerability Existed: not sure [Removed jsshell from test environment] [testing/web-platform/tests/streams/piping/multiple-propagation.any.js] [Lines 1] [Old Code] `// META: global=window,worker,jsshell` [Fixed Code] `// META: global=window,worker` Additional Details: The change removes "jsshell" from the test environment globals. This could indicate: 1) A security concern with testing in jsshell environment 2) Simply that these tests aren't needed/valid for jsshell 3) jsshell support was removed from the testing infrastructure Without more context about why jsshell was removed, I can't definitively say this was a security fix, but it's worth noting as a potentially security-related change since it reduces the test surface area.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/layout/reftests/css-grid/grid-fragmentation-004.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/layout/reftests/css-grid/grid-fragmentation-004.html@@ -23,7 +23,7 @@ -ms-column-fill: auto; -webkit-column-fill: auto; column-fill: auto;- border: 2px dashed;+ border: 2px solid salmon; margin-bottom: 5px; }
After analyzing the provided code diff, here's the security assessment: Vulnerability Existed: no [No security vulnerability found] [layout/reftests/css-grid/grid-fragmentation-004.html] [Lines 23] [Old Code: border: 2px dashed;] [Fixed Code: border: 2px solid salmon;] Additional Details: - This appears to be a purely visual/style change in a test file - The change modifies the border style from dashed to solid and adds a color (salmon) - No security implications are evident as this is a CSS styling modification in what appears to be a test case - The file path suggests this is part of CSS grid layout testing infrastructure
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/js/src/shell/jsoptparse.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/shell/jsoptparse.cpp@@ -531,6 +531,9 @@ /* Option builders */+// Use vanilla malloc for allocations. See OptionAllocPolicy.+JS_DECLARE_NEW_METHODS(opt_new, malloc, static MOZ_ALWAYS_INLINE)+ bool OptionParser::addIntOption(char shortflag, const char* longflag, const char* metavar, const char* help, int defaultValue) {@@ -538,7 +541,7 @@ return false; } IntOption* io =- js_new<IntOption>(shortflag, longflag, help, metavar, defaultValue);+ opt_new<IntOption>(shortflag, longflag, help, metavar, defaultValue); if (!io) { return false; }@@ -551,7 +554,7 @@ if (!options.reserve(options.length() + 1)) { return false; }- BoolOption* bo = js_new<BoolOption>(shortflag, longflag, help);+ BoolOption* bo = opt_new<BoolOption>(shortflag, longflag, help); if (!bo) { return false; }@@ -564,7 +567,7 @@ if (!options.reserve(options.length() + 1)) { return false; }- StringOption* so = js_new<StringOption>(shortflag, longflag, help, metavar);+ StringOption* so = opt_new<StringOption>(shortflag, longflag, help, metavar); if (!so) { return false; }@@ -578,7 +581,7 @@ return false; } MultiStringOption* mso =- js_new<MultiStringOption>(shortflag, longflag, help, metavar);+ opt_new<MultiStringOption>(shortflag, longflag, help, metavar); if (!mso) { return false; }@@ -592,7 +595,7 @@ if (!arguments.reserve(arguments.length() + 1)) { return false; }- StringOption* so = js_new<StringOption>(1, name, help, (const char*)nullptr);+ StringOption* so = opt_new<StringOption>(1, name, help, (const char*)nullptr); if (!so) { return false; }@@ -607,7 +610,7 @@ return false; } MultiStringOption* mso =- js_new<MultiStringOption>(1, name, help, (const char*)nullptr);+ opt_new<MultiStringOption>(1, name, help, (const char*)nullptr); if (!mso) { return false; }
Here's the analysis of the provided code diff following the specified format: Vulnerability Existed: not sure Memory Allocation Policy Change [js/src/shell/jsoptparse.cpp] [Lines 531-610] [Old Code] Various instances of `js_new<Type>` for memory allocation [Fixed Code] Replaced with `opt_new<Type>` using vanilla malloc via JS_DECLARE_NEW_METHODS Additional Details: 1. The change appears to modify the memory allocation strategy from whatever `js_new` was using to a vanilla malloc-based approach through `opt_new`. 2. While this could potentially address memory-related vulnerabilities (like custom allocator issues), there's no clear vulnerability name associated with this change. 3. The comment suggests this is related to "OptionAllocPolicy", but without seeing the policy details, we can't be certain about the security implications. 4. The change appears to be more about memory allocation consistency than fixing a specific known vulnerability. Note: If this were fixing a specific vulnerability, we would typically see a CVE reference or clearer security context in the commit message. The change might be preventative rather than corrective.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/cors/resources/access-control-expose-headers.json+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/cors/resources/access-control-expose-headers.json@@ -33,7 +33,7 @@ }, { "input": "Access-Control-Expose-Headers: ,bb-8",- "exposed": true+ "exposed": false }, { "input": "Access-Control-Expose-Headers: bb-8\u000C",
Based on the provided code diff, here's the analysis: Vulnerability Existed: yes Header Injection Vulnerability [File] [Lines 33-36] [Old Code] { "input": "Access-Control-Expose-Headers: ,bb-8", "exposed": true }, [Fixed Code] { "input": "Access-Control-Expose-Headers: ,bb-8", "exposed": false }, Vulnerability Existed: not sure Potential Null Byte Injection [File] [Lines 38-41] [Old Code] Not shown in diff (but the last line suggests a null byte might be involved) [Fixed Code] Not shown in diff (but the last line shows a unicode character \u000C) Additional Details: 1. The first vulnerability appears to be related to improper header validation where an empty header value (",bb-8") was previously being exposed when it shouldn't have been. This could potentially lead to header injection attacks. 2. The second potential issue involves a unicode control character (\u000C) in a header value, which might be related to null byte or control character injection, but without seeing the full context of both old and new code for this case, I can't be certain.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/layout/reftests/css-grid/grid-fragmentation-028-ref.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/layout/reftests/css-grid/grid-fragmentation-028-ref.html@@ -21,7 +21,7 @@ -ms-column-fill: auto; -webkit-column-fill: auto; column-fill: auto;- border: 2px dashed;+ border: 2px solid salmon; margin-bottom: 5px; }
After analyzing the provided code diff, here's the security assessment: Vulnerability Existed: no [No security vulnerability found] [layout/reftests/css-grid/grid-fragmentation-028-ref.html] [Lines 21] [Old Code: border: 2px dashed;] [Fixed Code: border: 2px solid salmon;] Additional Details: - The change appears to be purely cosmetic/visual, modifying the border style from dashed to solid and changing the color to salmon - This is part of a reftest (reference test) file, which is used for testing layout behavior rather than production code - No security implications were identified in this change as it doesn't affect any security-sensitive functionality
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.worker.js@@ -13,14 +13,14 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#f00'; ctx.fillStyle = 'rgb(-200%, 200%, -200%)'; ctx.fillRect(0, 0, 100, 50);-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); t.done(); });
Based on the provided diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: no No specific vulnerability found [File] [Lines 13-14, 20] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); The changes appear to be purely variable renaming from `offscreenCanvas` to `canvas` without any security implications. There are no visible security vulnerabilities being fixed in this diff. The modification is likely for code consistency or readability rather than security purposes.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/toolkit/components/glean/tests/browser/browser_fog_rdd.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/toolkit/components/glean/tests/browser/browser_fog_rdd.js@@ -2,9 +2,6 @@ * http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict";--// Glean's here on `window`, but eslint doesn't know that. bug 1715542.-/* global Glean:false */ /** * Return a web-based URL for a given file based on the testing directory.
Based on the provided diff, I'll analyze it for security vulnerabilities: Vulnerability Existed: no No specific vulnerability [File] [Lines 2-9] [Old Code] "use strict"; // Glean's here on `window`, but eslint doesn't know that. bug 1715542. /* global Glean:false */ [Fixed Code] "use strict"; Additional Details: The changes only involve removing a comment and an ESLint directive about the global Glean variable. This appears to be a code cleanup rather than a security fix. The removed comment was explaining why ESLint was being bypassed for the Glean global, and its removal doesn't indicate any security vulnerability was present or fixed. No security-related changes were made in this diff - it's purely removing documentation about a linter exception. The strict mode declaration remains, which is actually good for security as it prevents certain unsafe JavaScript practices.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/devtools/client/netmonitor/src/constants.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/client/netmonitor/src/constants.js@@ -26,6 +26,7 @@ DISABLE_BROWSER_CACHE: "DISABLE_BROWSER_CACHE", OPEN_STATISTICS: "OPEN_STATISTICS", PERSIST_CHANGED: "PERSIST_CHANGED",+ PRESELECT_REQUEST: "PRESELECT_REQUEST", REMOVE_SELECTED_CUSTOM_REQUEST: "REMOVE_SELECTED_CUSTOM_REQUEST", RESET_COLUMNS: "RESET_COLUMNS", SELECT_REQUEST: "SELECT_REQUEST",
Based on the provided diff, I don't see any security-related fixes. The change appears to be purely functional, adding a new constant for a feature. Here's the analysis following your requested format: Vulnerability Existed: no No security vulnerability found [File] devtools/client/netmonitor/src/constants.js [Lines] 26 [Old Code] DISABLE_BROWSER_CACHE: "DISABLE_BROWSER_CACHE", OPEN_STATISTICS: "OPEN_STATISTICS", PERSIST_CHANGED: "PERSIST_CHANGED", REMOVE_SELECTED_CUSTOM_REQUEST: "REMOVE_SELECTED_CUSTOM_REQUEST", [Fixed Code] DISABLE_BROWSER_CACHE: "DISABLE_BROWSER_CACHE", OPEN_STATISTICS: "OPEN_STATISTICS", PERSIST_CHANGED: "PERSIST_CHANGED", + PRESELECT_REQUEST: "PRESELECT_REQUEST", REMOVE_SELECTED_CUSTOM_REQUEST: "REMOVE_SELECTED_CUSTOM_REQUEST", Additional Notes: - The change simply adds a new constant PRESELECT_REQUEST to the list - No security implications are visible in this change - The modification appears to be feature-related rather than security-related
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/dom/media/gmp/GMPProcessParent.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/media/gmp/GMPProcessParent.cpp@@ -162,7 +162,6 @@ void GMPProcessParent::DoDelete() { MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop());- Join(); if (mDeletedCallback) { mDeletedCallback->Run();
Here's the analysis following the requested format: Vulnerability Existed: not sure [Potential Race Condition] [dom/media/gmp/GMPProcessParent.cpp] [Lines 162-164] [Old Code] MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop()); Join(); if (mDeletedCallback) { [Fixed Code] MOZ_ASSERT(MessageLoop::current() == XRE_GetIOMessageLoop()); if (mDeletedCallback) { Additional Details: 1. The removed `Join()` call suggests a potential synchronization issue was addressed. `Join()` is typically used to wait for a thread to complete, and its removal might indicate a race condition or deadlock vulnerability was fixed. 2. Without more context about the surrounding code and the purpose of `mDeletedCallback`, it's difficult to determine the exact vulnerability. 3. The change might be related to preventing potential deadlocks or race conditions during process shutdown, but we can't be certain without seeing the complete threading model and callback implementation.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/dom/base/nsIGlobalObject.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/base/nsIGlobalObject.cpp@@ -136,6 +136,7 @@ mReportingObservers.Clear(); #ifdef MOZ_DOM_STREAMS mCountQueuingStrategySizeFunction = nullptr;+ mByteLengthQueuingStrategySizeFunction = nullptr; #endif }@@ -154,6 +155,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mReportingObservers) #ifdef MOZ_DOM_STREAMS NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mCountQueuingStrategySizeFunction)+ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mByteLengthQueuingStrategySizeFunction) #endif }@@ -365,6 +367,16 @@ mozilla::dom::Function* aFunction) { mCountQueuingStrategySizeFunction = aFunction; }++already_AddRefed<mozilla::dom::Function>+nsIGlobalObject::GetByteLengthQueuingStrategySizeFunction() {+ return do_AddRef(mByteLengthQueuingStrategySizeFunction);+}++void nsIGlobalObject::SetByteLengthQueuingStrategySizeFunction(+ mozilla::dom::Function* aFunction) {+ mByteLengthQueuingStrategySizeFunction = aFunction;+} #endif bool nsIGlobalObject::ShouldResistFingerprinting() const {
Based on the provided diff, I'll analyze it for potential security vulnerabilities: 1. Vulnerability Existed: not sure [Potential Memory Management Issue] [dom/base/nsIGlobalObject.cpp] [Lines 136-137, 154-155, 365-375] [Old Code] Missing mByteLengthQueuingStrategySizeFunction handling in destructor, cycle collection, and getter/setter methods [Fixed Code] Added proper handling of mByteLengthQueuingStrategySizeFunction in destructor, cycle collection, and added getter/setter methods Note: While this appears to be adding proper memory management for a new member variable, I can't be certain if the absence of this handling in the previous version constituted a security vulnerability. It's good practice for memory management but may not have been an active vulnerability. The change ensures proper cleanup and cycle collection for the new member variable, which could prevent potential memory leaks or dangling pointers. The diff shows the addition of proper handling for mByteLengthQueuingStrategySizeFunction throughout the class lifecycle (destruction, cycle collection, and access methods). While this improves code robustness, I can't definitively state this was fixing an active security vulnerability without more context about how this member was previously being used.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/libc/src/unix/linux_like/linux/arch/powerpc/mod.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/libc/src/unix/linux_like/linux/arch/powerpc/mod.rs@@ -109,3 +109,6 @@ pub const BOTHER: ::speed_t = 0o0037; pub const IBSHIFT: ::tcflag_t = 16;++pub const BLKSSZGET: ::c_int = 0x20001268;+pub const BLKPBSZGET: ::c_int = 0x2000127B;
I'll analyze the provided code diff following the specified format. Vulnerability Existed: not sure [Potential Missing Constants] [third_party/rust/libc/src/unix/linux_like/linux/arch/powerpc/mod.rs] [Lines 109-112] [Old Code] pub const BOTHER: ::speed_t = 0o0037; pub const IBSHIFT: ::tcflag_t = 16; [Fixed Code] pub const BOTHER: ::speed_t = 0o0037; pub const IBSHIFT: ::tcflag_t = 16; pub const BLKSSZGET: ::c_int = 0x20001268; pub const BLKPBSZGET: ::c_int = 0x2000127B; Additional Details: The diff shows the addition of two constants (BLKSSZGET and BLKPBSZGET) related to block device operations. While these appear to be standard Linux ioctl constants being added for completeness, I'm not sure if their absence constituted a security vulnerability. These constants are typically used for querying block device sector sizes and physical block sizes. The change appears to be more about completeness and functionality rather than fixing a specific security issue.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html@@ -17,8 +17,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); assert_throws_js(TypeError, function() { ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1); }); assert_throws_js(TypeError, function() { ctx.createRadialGradient(-Infinity, 0, 1, 0, 0, 1); });
Based on the provided diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming and don't affect security. Here's the analysis: Vulnerability Existed: no No security vulnerability found [testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html] [Lines 17-18] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); The changes simply rename the variable from `offscreenCanvas` to `canvas`, which doesn't have any security implications. The test continues to check for proper handling of non-finite values in radial gradient creation, but this was already properly implemented in the previous version.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/dom/events/PointerEvent.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/events/PointerEvent.cpp@@ -251,7 +251,7 @@ mCoalescedEvents.AppendElement(domEvent); } }- if (mEvent->mTarget) {+ if (mEvent->IsTrusted() && mEvent->mTarget) { for (RefPtr<PointerEvent>& pointerEvent : mCoalescedEvents) { // Only set event target when it's null. if (!pointerEvent->mEvent->mTarget) {@@ -265,7 +265,7 @@ void PointerEvent::GetPredictedEvents( nsTArray<RefPtr<PointerEvent>>& aPointerEvents) { // XXX Add support for native predicted events, bug 1550461- if (mEvent->mTarget) {+ if (mEvent->IsTrusted() && mEvent->mTarget) { for (RefPtr<PointerEvent>& pointerEvent : mPredictedEvents) { // Only set event target when it's null. if (!pointerEvent->mEvent->mTarget) {
Here's the analysis of the provided code diff following the specified format: 1. Vulnerability Existed: yes Vulnerability Name: Untrusted Pointer Event Target Assignment [File] dom/events/PointerEvent.cpp [Lines] 251-265 Old Code: `if (mEvent->mTarget) {` Fixed Code: `if (mEvent->IsTrusted() && mEvent->mTarget) {` Additional Details: The fix adds a check for trusted events before assigning targets to coalesced pointer events, preventing potential manipulation by untrusted events. 2. Vulnerability Existed: yes Vulnerability Name: Untrusted Predicted Events Target Assignment [File] dom/events/PointerEvent.cpp [Lines] 265-275 Old Code: `if (mEvent->mTarget) {` Fixed Code: `if (mEvent->IsTrusted() && mEvent->mTarget) {` Additional Details: Similar to the first vulnerability, this fix adds an IsTrusted() check before processing predicted events, preventing potential security issues from untrusted event sources. Both vulnerabilities relate to the same security principle - ensuring that event target assignments are only performed for trusted events. The fixes add necessary security checks that were previously missing.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.