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/testing/web-platform/tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.reflect.setidlzero.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.reflect.setidlzero.html@@ -17,13 +17,13 @@ }); 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');-offscreenCanvas.width = 0;-offscreenCanvas.height = 0;-_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");-_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");+canvas.width = 0;+canvas.height = 0;+_assertSame(canvas.width, 0, "canvas.width", "0");+_assertSame(canvas.height, 0, "canvas.height", "0"); t.done(); });
After analyzing the provided code diff, I don't see any security-related fixes. The changes appear to be purely cosmetic/refactoring changes where a variable name was changed from `offscreenCanvas` to `canvas`. The functionality remains the same. Vulnerability Existed: no [No security vulnerability found] [testing/web-platform/tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.reflect.setidlzero.html] [Lines 17-23] [Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); ... offscreenCanvas.width = 0; ...] [Fixed Code: var canvas = new OffscreenCanvas(100, 50); ... canvas.width = 0; ...] The changes are: 1. Variable name change from `offscreenCanvas` to `canvas` 2. Corresponding updates to assertion messages 3. No changes to the actual security-relevant behavior of the code No security vulnerabilities were fixed in this diff. The changes are purely related to code style and variable naming.
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/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/drawing-rectangles-to-the-canvas/2d.fillRect.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'); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50);@@ -46,7 +46,7 @@ ctx.fillRect(0, Infinity, Infinity, Infinity); ctx.fillRect(0, Infinity, 100, Infinity); ctx.fillRect(0, 0, Infinity, Infinity);-_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 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/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.html] [17-18,46] [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 simply rename the variable `offscreenCanvas` to `canvas` for consistency or readability, but this doesn't represent a security fix. The functionality remains identical.
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-tables/absolute-tables-003.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-tables/absolute-tables-003.html@@ -4,7 +4,6 @@ <script src='/resources/check-layout-th.js'></script> <link rel="author" title="David Grogan" href="mailto:[email protected]"> <link rel="help" href="https://www.w3.org/TR/css-tables-3/#used-width-of-table">-<meta name="flags" content="" /> <meta name="assert" content="When sizing and positioning abspos tables, the specified width is obeyed when the intrinsic width is smaller" /> <style> .cb {
Analysis: 1. Vulnerability Existed: no Meta Tag Removal [File] [Lines 4-6] [Old Code] <meta name="flags" content="" /> [Fixed Code] (removed line) Additional Details: - The diff shows the removal of an empty meta tag with name="flags". This doesn't appear to be a security fix but rather a cleanup of unnecessary HTML markup. - No known vulnerability is associated with this change. - The change appears to be part of general code maintenance rather than addressing 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/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.worker.js+++ /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.quadraticCurveTo.ensuresubpath.1.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 = '#0f0'; ctx.fillRect(0, 0, 100, 50);@@ -23,8 +23,8 @@ ctx.beginPath(); ctx.quadraticCurveTo(100, 50, 200, 50); ctx.stroke();-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 95,45, 0,255,0,255, "95,45", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 95,45, 0,255,0,255, "95,45", "0,255,0,255"); t.done(); });
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely cosmetic/refactoring changes where the variable name `offscreenCanvas` was renamed to `canvas`. The functionality remains the same. Here's the analysis following your requested format: Vulnerability Existed: no No security vulnerability found File: testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.worker.js [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"); _assertPixel(offscreenCanvas, 95,45, 0,255,0,255, "95,45", "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"); _assertPixel(canvas, 95,45, 0,255,0,255, "95,45", "0,255,0,255"); The changes are purely variable name changes with no security implications.
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/gfx/layers/client/TextureClient.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/client/TextureClient.h@@ -305,6 +305,17 @@ // It is used only on android. virtual mozilla::ipc::FileDescriptor GetAcquireFence() { return mozilla::ipc::FileDescriptor();+ }++ /**+ * Crop YCbCr planes to a smaller size. An use case is that we would need to+ * allocate a larger size for planes in order to meet the special alignement+ * requirement (eg. for ffmpeg video decoding), but crop planes to a correct+ * range after allocation is done.+ */+ virtual bool CropYCbCrPlanes(const gfx::IntSize& aYSize,+ const gfx::IntSize& aCbCrSize) {+ return false; } protected:@@ -470,6 +481,15 @@ const gfx::IntPoint* aPoint); /**+ * Crop YCbCr planes to a smaller size. An use case is that we would need to+ * allocate a larger size for planes in order to meet the special alignement+ * requirement (eg. for ffmpeg video decoding), but crop planes to a correct+ * range after allocation is done.+ */+ bool CropYCbCrPlanes(const gfx::IntSize& aYSize,+ const gfx::IntSize& aCbCrSize);++ /** * Allocate and deallocate a TextureChild actor. * * TextureChild is an implementation detail of TextureClient that is not
Here's the analysis of the provided code diff: Vulnerability Existed: no [No security vulnerability found] [gfx/layers/client/TextureClient.h] [Lines 305-481] [Old Code] - No previous implementation of CropYCbCrPlanes [Fixed Code] + Added virtual CropYCbCrPlanes function and its declaration Additional Details: The diff shows the addition of a new virtual function `CropYCbCrPlanes` and its declaration. This appears to be a new feature addition rather than a security fix. The function is designed to handle YCbCr plane cropping, likely for video processing purposes. There are no obvious security vulnerabilities being fixed here - no unsafe operations, buffer handling, or potential overflow points are being modified. The change is purely additive with new functionality. Note that while the change itself doesn't appear to fix any vulnerabilities, the functionality being added (plane cropping) could potentially introduce new security considerations if not implemented carefully in the actual implementation (though that part isn't shown in the diff). However, based solely on the provided diff, no security fixes are evident.
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/vm/BigIntType.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/vm/BigIntType.cpp@@ -144,8 +144,7 @@ BigInt* BigInt::createUninitialized(JSContext* cx, size_t digitLength, bool isNegative, gc::InitialHeap heap) { if (digitLength > MaxDigitLength) {- JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr,- JSMSG_BIGINT_TOO_LARGE);+ ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE); return nullptr; }@@ -2051,8 +2050,7 @@ static_assert(MaxBitLength < std::numeric_limits<Digit>::max(), "unexpectedly large MaxBitLength"); if (y->digitLength() > 1) {- JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr,- JSMSG_BIGINT_TOO_LARGE);+ ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE); return nullptr; } Digit exponent = y->digit(0);@@ -2060,8 +2058,7 @@ return x; } if (exponent >= MaxBitLength) {- JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr,- JSMSG_BIGINT_TOO_LARGE);+ ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE); return nullptr; }@@ -2553,8 +2550,7 @@ MOZ_ASSERT(!x->isZero()); if (bits > MaxBitLength) {- JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr,- JSMSG_BIGINT_TOO_LARGE);+ ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE); return nullptr; }
Here's the analysis of the provided code diff following the requested format: 1. Vulnerability Existed: not sure Error Handling Improvement [js/src/vm/BigIntType.cpp] [Lines 144-147, 2051-2054, 2060-2063, 2553-2556] Old Code: JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_BIGINT_TOO_LARGE) Fixed Code: ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE) 2. Vulnerability Existed: not sure Error Handling Improvement [js/src/vm/BigIntType.cpp] [Lines 2051-2054] Old Code: JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_BIGINT_TOO_LARGE) Fixed Code: ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE) 3. Vulnerability Existed: not sure Error Handling Improvement [js/src/vm/BigIntType.cpp] [Lines 2060-2063] Old Code: JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_BIGINT_TOO_LARGE) Fixed Code: ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE) 4. Vulnerability Existed: not sure Error Handling Improvement [js/src/vm/BigIntType.cpp] [Lines 2553-2556] Old Code: JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, JSMSG_BIGINT_TOO_LARGE) Fixed Code: ReportOversizedAllocation(cx, JSMSG_BIGINT_TOO_LARGE) Note: While the diff shows consistent changes in error reporting patterns, I cannot definitively identify a specific vulnerability being fixed. The changes appear to standardize error reporting for oversized BigInt allocations, which might improve error handling consistency but doesn't clearly indicate a security vulnerability being addressed. The change from JS_ReportErrorNumberASCII to ReportOversizedAllocation might be part of a larger security hardening effort, but without more context about these functions' implementations, 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/testing/web-platform/tests/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-with-transparent-pixels.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/compositing/mix-blend-mode/mix-blend-mode-blended-element-with-transparent-pixels.html@@ -11,7 +11,6 @@ <meta name="assert" content="Test checks that blending is performed with a parent that creates a stacking context, but not with any of its underlying content. The element, including its children, must blend with the parent as a whole.">- <meta name="flags" content=""/> <link rel="match" href="reference/mix-blend-mode-blended-element-with-transparent-pixels-ref.html"> <style type="text/css"> .parent {
Based on the provided diff, I'll analyze it for potential security vulnerabilities: 1. Vulnerability Existed: no No security vulnerability found [File] [Lines 11] Old Code: `<meta name="flags" content=""/>` Fixed Code: (line removed) Additional Details: - The diff only shows removal of a meta tag with empty "flags" attribute. This appears to be a test configuration change rather than a security fix. - The removed line didn't contain any sensitive information or security-relevant configuration. - No known vulnerability patterns (XSS, injection, etc.) are present in this change. No security vulnerabilities were identified in this diff. The change appears to be a cleanup of test metadata rather than a security fix.
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/localstorage/LSObject.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/localstorage/LSObject.cpp@@ -517,8 +517,7 @@ mozilla::ipc::PBackgroundChild* backgroundActor = XRE_IsParentProcess()- ? mozilla::ipc::BackgroundChild::GetOrCreateForCurrentThread(- aMainEventTarget)+ ? mozilla::ipc::BackgroundChild::GetOrCreateForCurrentThread() : mozilla::ipc::BackgroundChild::GetForCurrentThread(); if (NS_WARN_IF(!backgroundActor)) { return nullptr;
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: not sure [Potential Thread Safety Issue] [dom/localstorage/LSObject.cpp] [Lines 517-520] [Old Code] `mozilla::ipc::BackgroundChild::GetOrCreateForCurrentThread(aMainEventTarget)` [Fixed Code] `mozilla::ipc::BackgroundChild::GetOrCreateForCurrentThread()` Additional Details: The change removes the `aMainEventTarget` parameter from the `GetOrCreateForCurrentThread` call. While this might indicate a thread safety improvement (removing potential race conditions or improper thread handling), without more context about the removed parameter's purpose and usage, we can't definitively identify a specific vulnerability. The change could be related to security hardening or simply API simplification.
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.isPointInPath.transform.2.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.isPointInPath.transform.2.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.rect(50, 0, 20, 20); ctx.translate(50, 0);
Analyzing the provided code diff, here's the security assessment: Vulnerability Existed: no [No security vulnerability found] [testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.isPointInPath.transform.2.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'); Additional Details: The changes appear to be purely cosmetic/refactoring, renaming the variable from `offscreenCanvas` to `canvas`. There's no indication of any security vulnerability being fixed in this change. The modification doesn't affect any security-sensitive operations or introduce/remove any security-related 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/servo/components/style/build_gecko.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/servo/components/style/build_gecko.rs@@ -42,14 +42,12 @@ lazy_static! { static ref CONFIG: Table = { // Load Gecko's binding generator config from the source tree.- let path = PathBuf::from(env::var_os("MOZ_SRC").unwrap())- .join("layout/style/ServoBindings.toml");+ let path = mozbuild::TOPSRCDIR.join("layout/style/ServoBindings.toml"); read_config(&path) }; static ref BINDGEN_FLAGS: Vec<String> = { // Load build-specific config overrides.- let path = PathBuf::from(env::var_os("MOZ_TOPOBJDIR").unwrap())- .join("layout/style/extra-bindgen-flags");+ let path = mozbuild::TOPOBJDIR.join("layout/style/extra-bindgen-flags"); println!("cargo:rerun-if-changed={}", path.to_str().unwrap()); fs::read_to_string(path).expect("Failed to read extra-bindgen-flags file") .split_whitespace()@@ -57,13 +55,7 @@ .collect() }; static ref INCLUDE_RE: Regex = Regex::new(r#"#include\s*"(.+?)""#).unwrap();- static ref DISTDIR_PATH: PathBuf = {- let path = PathBuf::from(env::var_os("MOZ_DIST").unwrap());- if !path.is_absolute() || !path.is_dir() {- panic!("MOZ_DIST must be an absolute directory, was: {}", path.display());- }- path- };+ static ref DISTDIR_PATH: PathBuf = mozbuild::TOPOBJDIR.join("dist"); static ref SEARCH_PATHS: Vec<PathBuf> = vec![ DISTDIR_PATH.join("include"), DISTDIR_PATH.join("include/nspr"),
Let me analyze the code diff for security fixes: 1. Vulnerability Existed: yes Path Traversal Vulnerability [servo/components/style/build_gecko.rs] [Lines 42-43, 45-46, 57-62] [Old Code] let path = PathBuf::from(env::var_os("MOZ_SRC").unwrap()) .join("layout/style/ServoBindings.toml"); ... let path = PathBuf::from(env::var_os("MOZ_TOPOBJDIR").unwrap()) .join("layout/style/extra-bindgen-flags"); ... let path = PathBuf::from(env::var_os("MOZ_DIST").unwrap()); if !path.is_absolute() || !path.is_dir() { panic!("MOZ_DIST must be an absolute directory, was: {}", path.display()); } [Fixed Code] let path = mozbuild::TOPSRCDIR.join("layout/style/ServoBindings.toml"); ... let path = mozbuild::TOPOBJDIR.join("layout/style/extra-bindgen-flags"); ... static ref DISTDIR_PATH: PathBuf = mozbuild::TOPOBJDIR.join("dist"); Additional Details: The changes replace direct environment variable usage with mozbuild constants, which is more secure as it: 1. Removes dependency on potentially untrusted environment variables 2. Eliminates path traversal risks from MOZ_SRC, MOZ_TOPOBJDIR, and MOZ_DIST 3. Uses predefined trusted paths instead of user-controlled ones 4. Removes the need for manual path validation (is_absolute/is_dir checks) 2. Vulnerability Existed: not sure Potential Information Leak [servo/components/style/build_gecko.rs] [Lines 45-46] [Old Code] let path = PathBuf::from(env::var_os("MOZ_TOPOBJDIR").unwrap()) .join("layout/style/extra-bindgen-flags"); [Fixed Code] let path = mozbuild::TOPOBJDIR.join("layout/style/extra-bindgen-flags"); Additional Details: While this change improves security by removing environment variable dependency, it's unclear if the old version actually caused information leaks. The change might be more about code consistency than fixing a specific vulnerability.
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/netwerk/protocol/http/nsHttpConnectionMgr.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/netwerk/protocol/http/nsHttpConnectionMgr.cpp@@ -18,6 +18,7 @@ #include "NullHttpTransaction.h" #include "mozilla/Components.h" #include "mozilla/SpinEventLoopUntil.h"+#include "mozilla/StaticPrefs_network.h" #include "mozilla/Telemetry.h" #include "mozilla/Unused.h" #include "mozilla/net/DNS.h"@@ -1315,7 +1316,8 @@ RefPtr<HttpConnectionBase> conn = GetH2orH3ActiveConn( ent, (!gHttpHandler->IsSpdyEnabled() || (caps & NS_HTTP_DISALLOW_SPDY)),- (!gHttpHandler->IsHttp3Enabled() || (caps & NS_HTTP_DISALLOW_HTTP3)));+ (!StaticPrefs::network_http_http3_enable() ||+ (caps & NS_HTTP_DISALLOW_HTTP3))); if (conn) { if (trans->IsWebsocketUpgrade() && !conn->CanAcceptWebsocket()) { // This is a websocket transaction and we already have a h2 connection@@ -1408,8 +1410,9 @@ // h1 pipelining has been removed // Don't dispatch if this transaction is waiting for HTTPS RR.- // Note that this is only used in test currently.- if (caps & NS_HTTP_FORCE_WAIT_HTTP_RR) {+ // This usually happens when the pref "network.dns.force_waiting_https_rr" is+ // true or when echConfig is enabled.+ if (trans->WaitingForHTTPSRR()) { return NS_ERROR_NOT_AVAILABLE; }@@ -2456,6 +2459,7 @@ } void nsHttpConnectionMgr::OnMsgUpdateParam(int32_t inParam, ARefBase*) {+ MOZ_ASSERT(OnSocketThread(), "not on socket thread"); uint32_t param = static_cast<uint32_t>(inParam); uint16_t name = ((param)&0xFFFF0000) >> 16; uint16_t value = param & 0x0000FFFF;@@ -2533,9 +2537,19 @@ NS_WARNING("failed to create timer for http timeout management"); return; }+ ReentrantMonitorAutoEnter mon(mReentrantMonitor);+ if (!mSocketThreadTarget) {+ NS_WARNING("cannot activate timout if not initialized or shutdown");+ return;+ } mTimeoutTick->SetTarget(mSocketThreadTarget); }+ if (mIsShuttingDown) { // Atomic+ // don't set a timer to generate an event if we're shutting down+ // (and mSocketThreadTarget might be null or garbage if we're shutting down)+ return;+ } MOZ_ASSERT(!mTimeoutTickArmed, "timer tick armed"); mTimeoutTickArmed = true; mTimeoutTick->Init(this, 1000, nsITimer::TYPE_REPEATING_SLACK);@@ -2561,6 +2575,7 @@ void nsHttpConnectionMgr::SetThrottlingEnabled(bool aEnable) { LOG(("nsHttpConnectionMgr::SetThrottlingEnabled enable=%d", aEnable));+ MOZ_ASSERT(OnSocketThread(), "not on socket thread"); mThrottleEnabled = aEnable;@@ -2947,6 +2962,7 @@ LogActiveTransactions('^'); }+// Can be called with or without the monitor held void nsHttpConnectionMgr::DestroyThrottleTicker() { MOZ_ASSERT(OnSocketThread(), "not on socket thread");@@ -3299,6 +3315,14 @@ ConnectionEntry* ent = GetOrCreateConnectionEntry( aTrans->ConnectionInfo(), false, aTrans->Caps() & NS_HTTP_DISALLOW_SPDY, aTrans->Caps() & NS_HTTP_DISALLOW_HTTP3);+ if (!aFetchHTTPSRR &&+ gHttpHandler->EchConfigEnabled(aTrans->ConnectionInfo()->IsHttp3())) {+ // This happens when this is called from+ // SpeculativeTransaction::OnHTTPSRRAvailable. We have to update this+ // entry's echConfig so that the newly created connection can use the latest+ // echConfig.+ ent->MaybeUpdateEchConfig(aTrans->ConnectionInfo());+ } DoSpeculativeConnectionInternal(ent, aTrans, aFetchHTTPSRR); }@@ -3307,6 +3331,12 @@ MOZ_ASSERT(OnSocketThread(), "not on socket thread"); MOZ_ASSERT(aTrans); MOZ_ASSERT(aEnt);+ if (aFetchHTTPSRR) {+ Unused << aTrans->FetchHTTPSRR();+ // nsHttpConnectionMgr::DoSpeculativeConnection will be called again when+ // HTTPS RR is available.+ return;+ } uint32_t parallelSpeculativeConnectLimit = aTrans->ParallelSpeculativeConnectLimit()@@ -3324,9 +3354,6 @@ !aEnt->IdleConnectionsLength()) && !(keepAlive && aEnt->RestrictConnections()) && !AtActiveConnectionLimit(aEnt, aTrans->Caps())) {- if (aFetchHTTPSRR) {- Unused << aTrans->FetchHTTPSRR();- } DebugOnly<nsresult> rv = aEnt->CreateDnsAndConnectSocket( aTrans, aTrans->Caps(), true, isFromPredictor, false, allow1918, nullptr);@@ -3376,6 +3403,7 @@ } bool nsHttpConnectionMgr::BeConservativeIfProxied(nsIProxyInfo* proxy) {+ MOZ_ASSERT(OnSocketThread(), "not on socket thread"); if (mBeConservativeForProxy) { // The pref says to be conservative for proxies. return true;
Here's the security analysis of the provided code diff following the specified format: 1. Vulnerability Existed: yes HTTP/3 Configuration Check [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [1315-1316] [Old Code] (!gHttpHandler->IsHttp3Enabled() || (caps & NS_HTTP_DISALLOW_HTTP3))) [Fixed Code] (!StaticPrefs::network_http_http3_enable() || (caps & NS_HTTP_DISALLOW_HTTP3))) Details: The change moves from a runtime handler check to a static preference check for HTTP/3 configuration, which could prevent potential race conditions in HTTP/3 feature checking. 2. Vulnerability Existed: yes HTTPS RR Check [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [1408-1410] [Old Code] if (caps & NS_HTTP_FORCE_WAIT_HTTP_RR) { [Fixed Code] if (trans->WaitingForHTTPSRR()) { Details: The change replaces a direct capability flag check with a proper method call to check HTTPS RR status, which provides more reliable state checking. 3. Vulnerability Existed: yes Thread Safety Check [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [2456] [Old Code] void nsHttpConnectionMgr::OnMsgUpdateParam(int32_t inParam, ARefBase*) { [Fixed Code] void nsHttpConnectionMgr::OnMsgUpdateParam(int32_t inParam, ARefBase*) { MOZ_ASSERT(OnSocketThread(), "not on socket thread"); Details: Added thread safety assertion to ensure the method is called on the correct thread, preventing potential race conditions. 4. Vulnerability Existed: yes Timer Initialization Check [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [2533-2547] [Old Code] mTimeoutTick->SetTarget(mSocketThreadTarget); [Fixed Code] ReentrantMonitorAutoEnter mon(mReentrantMonitor); if (!mSocketThreadTarget) { NS_WARNING("cannot activate timout if not initialized or shutdown"); return; } mTimeoutTick->SetTarget(mSocketThreadTarget); if (mIsShuttingDown) { return; } Details: Added proper checks for shutdown state and thread target initialization before setting up timers, preventing potential null pointer dereferences during shutdown. 5. Vulnerability Existed: yes Thread Safety Check [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [2561] [Old Code] void nsHttpConnectionMgr::SetThrottlingEnabled(bool aEnable) { [Fixed Code] void nsHttpConnectionMgr::SetThrottlingEnabled(bool aEnable) { MOZ_ASSERT(OnSocketThread(), "not on socket thread"); Details: Added thread safety assertion to ensure the method is called on the correct thread. 6. Vulnerability Existed: yes ECH Configuration Update [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [3299-3307] [Old Code] ConnectionEntry* ent = GetOrCreateConnectionEntry( aTrans->ConnectionInfo(), false, aTrans->Caps() & NS_HTTP_DISALLOW_SPDY, aTrans->Caps() & NS_HTTP_DISALLOW_HTTP3); [Fixed Code] ConnectionEntry* ent = GetOrCreateConnectionEntry( aTrans->ConnectionInfo(), false, aTrans->Caps() & NS_HTTP_DISALLOW_SPDY, aTrans->Caps() & NS_HTTP_DISALLOW_HTTP3); if (!aFetchHTTPSRR && gHttpHandler->EchConfigEnabled(aTrans->ConnectionInfo()->IsHttp3())) { ent->MaybeUpdateEchConfig(aTrans->ConnectionInfo()); } Details: Added proper ECH (Encrypted Client Hello) configuration updates when needed, improving security for encrypted connections. 7. Vulnerability Existed: yes HTTPS RR Fetching Logic [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [3307-3316] [Old Code] if (aFetchHTTPSRR) { Unused << aTrans->FetchHTTPSRR(); } [Fixed Code] if (aFetchHTTPSRR) { Unused << aTrans->FetchHTTPSRR(); return; } Details: Added early return after HTTPS RR fetch to prevent duplicate connection attempts, improving connection handling reliability. 8. Vulnerability Existed: yes Thread Safety Check [netwerk/protocol/http/nsHttpConnectionMgr.cpp] [3376] [Old Code] bool nsHttpConnectionMgr::BeConservativeIfProxied(nsIProxyInfo* proxy) { [Fixed Code] bool nsHttpConnectionMgr::BeConservativeIfProxied(nsIProxyInfo* proxy) { MOZ_ASSERT(OnSocketThread(), "not on socket thread"); Details: Added thread safety assertion for proxy-related operations, preventing potential race conditions.
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/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.html@@ -18,8 +18,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);@@ -35,10 +35,10 @@ promise.then(function(response) { createImageBitmap(response).then(bitmap => { ctx.drawImage(bitmap, 0, 0, 100, 50, 0, 0, 100, 50);- _assertPixelApprox(offscreenCanvas, 0,0, 0,255,0,255, "0,0", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 99,0, 0,255,0,255, "99,0", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 0,49, 0,255,0,255, "0,49", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 99,49, 0,255,0,255, "99,49", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 0,0, 0,255,0,255, "0,0", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 99,0, 0,255,0,255, "99,0", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 0,49, 0,255,0,255, "0,49", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 99,49, 0,255,0,255, "99,49", "0,255,0,255", 2); }, t_fail); }).then(t_pass, t_fail);
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable name refactoring from `offscreenCanvas` to `canvas` without any security implications. Here's the analysis following your requested format: Vulnerability Existed: no No security vulnerability found [File] [Lines 18-35] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixelApprox(offscreenCanvas, 0,0, 0,255,0,255, "0,0", "0,255,0,255", 2); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixelApprox(canvas, 0,0, 0,255,0,255, "0,0", "0,255,0,255", 2); The changes are purely variable name refactoring with no security impact. The functionality remains exactly the same, just using a different variable name.
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/text/2d.text.draw.space.collapse.other.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.draw.space.collapse.other.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'); var f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts);@@ -26,8 +26,8 @@ ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; ctx.fillText('E \x09\x0a\x0c\x0d \x09\x0a\x0c\x0dEE', -100, 37.5);- _assertPixelApprox(offscreenCanvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255", 2); }).then(t_pass, t_fail); });
Analysis of the provided code diff: 1. Vulnerability Existed: no Variable Renaming [File] [Lines 13-14, 26-27] Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixelApprox(offscreenCanvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255", 2); _assertPixelApprox(offscreenCanvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255", 2); Fixed Code: var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixelApprox(canvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255", 2); _assertPixelApprox(canvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255", 2); Additional Details: This appears to be a simple variable renaming from 'offscreenCanvas' to 'canvas' for consistency or clarity. No security implications were identified in this change. The diff shows only variable naming changes with no apparent security vulnerabilities fixed. The changes are purely cosmetic/refactoring in nature.
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/element/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/element/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html@@ -21,16 +21,12 @@ ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50);- ctx.beginPath(); ctx.rect(0, 0, 16, 16); ctx.clip();- ctx.clearRect(0, 0, 100, 50);- ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 16, 16);- _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be primarily formatting/whitespace changes and test logic adjustments rather than security fixes. Here's the analysis: 1. Vulnerability Existed: no No security vulnerability found File: testing/web-platform/tests/html/canvas/element/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html Lines: 21-27 Old Code: ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50); ctx.beginPath(); ctx.rect(0, 0, 16, 16); ctx.clip(); ctx.clearRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 16, 16); _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); Fixed Code: ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50); ctx.beginPath(); ctx.rect(0, 0, 16, 16); ctx.clip(); ctx.clearRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 16, 16); _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); The changes consist of: 1. Removal of extra blank lines between statements 2. No changes to actual functionality or security-related aspects 3. The test logic remains the same, just more compact No security vulnerabilities were identified in this diff. The changes appear to be purely cosmetic/formatting improvements.
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/widget/gtk/nsWindow.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/widget/gtk/nsWindow.h@@ -76,17 +76,6 @@ # define LOG_ENABLED() false #endif /* MOZ_LOGGING */--#ifdef MOZ_WAYLAND-gboolean WindowDragMotionHandler(GtkWidget* aWidget,- GdkDragContext* aDragContext,- RefPtr<DataOffer> aDataOffer, gint aX, gint aY,- guint aTime);-gboolean WindowDragDropHandler(GtkWidget* aWidget, GdkDragContext* aDragContext,- RefPtr<DataOffer> aDataOffer, gint aX, gint aY,- guint aTime);-void WindowDragLeaveHandler(GtkWidget* aWidget);-#endif class gfxPattern; class nsIFrame;@@ -179,8 +168,7 @@ uint16_t aDuration, nsISupports* aData, nsIRunnable* aCallback) override; already_AddRefed<nsIScreen> GetWidgetScreen() override;- nsresult MakeFullScreen(bool aFullScreen,- nsIScreen* aTargetScreen = nullptr) override;+ nsresult MakeFullScreen(bool aFullScreen) override; void HideWindowChrome(bool aShouldHide) override; /**
Based on the provided diff, I'll analyze the changes for potential security fixes: 1. First Change (Removal of Wayland drag handlers): Vulnerability Existed: not sure Potential Wayland Drag-and-Drop Vulnerability [widget/gtk/nsWindow.h] [Lines 78-85] [Old Code] #ifdef MOZ_WAYLAND gboolean WindowDragMotionHandler(GtkWidget* aWidget, GdkDragContext* aDragContext, RefPtr<DataOffer> aDataOffer, gint aX, gint aY, guint aTime); gboolean WindowDragDropHandler(GtkWidget* aWidget, GdkDragContext* aDragContext, RefPtr<DataOffer> aDataOffer, gint aX, gint aY, guint aTime); void WindowDragLeaveHandler(GtkWidget* aWidget); #endif [Fixed Code] (Removed entirely) 2. Second Change (MakeFullScreen signature change): Vulnerability Existed: not sure Potential Fullscreen API Vulnerability [widget/gtk/nsWindow.h] [Line 179] [Old Code] nsresult MakeFullScreen(bool aFullScreen, nsIScreen* aTargetScreen = nullptr) override; [Fixed Code] nsresult MakeFullScreen(bool aFullScreen) override; Note: While these changes could potentially be security-related (removing drag-and-drop handlers and simplifying fullscreen API), I can't definitively say they fix specific vulnerabilities without more context. The changes might also be part of code cleanup or feature modifications. The removal of Wayland drag handlers could potentially address security concerns around drag-and-drop operations, and the simplification of the fullscreen API might remove a potential attack surface related to screen targeting.
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.pattern.paint.norepeat.coord3.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.pattern.paint.norepeat.coord3.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 = '#0f0'; ctx.fillRect(0, 0, 100, 50);@@ -39,10 +39,10 @@ ctx.fillRect(-50, -25, 100, 50); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 50, 25);- _assertPixel(offscreenCanvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");- _assertPixel(offscreenCanvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");- _assertPixel(offscreenCanvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");- _assertPixel(offscreenCanvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255");+ _assertPixel(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");+ _assertPixel(canvas, 98,1, 0,255,0,255, "98,1", "0,255,0,255");+ _assertPixel(canvas, 1,48, 0,255,0,255, "1,48", "0,255,0,255");+ _assertPixel(canvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255"); }, t_fail); }).then(t_pass, t_fail);
Based on the provided diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming (from `offscreenCanvas` to `canvas`) and corresponding updates to the variable name in the assertions. Here's the analysis following your format: Vulnerability Existed: no No security vulnerability found [File] [Lines] Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); Fixed Code: var canvas = new OffscreenCanvas(100, 50); Vulnerability Existed: no No security vulnerability found [File] [Lines] Old Code: _assertPixel(offscreenCanvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255"); Fixed Code: _assertPixel(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255"); The changes are purely cosmetic/refactoring in nature and don't appear to address any security issues. The functionality remains exactly the same, just with a different variable name.
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/tools/lint/rejected-words.yml+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/tools/lint/rejected-words.yml@@ -215,15 +215,9 @@ - netwerk/base/nsURLHelper.cpp - netwerk/cookie/CookieCommons.h - netwerk/dns/nsHostRecord.cpp- - netwerk/dns/nsHostResolver.cpp - netwerk/dns/nsIDNService.cpp - netwerk/dns/nsIDNService.h - netwerk/dns/TRR.cpp- - netwerk/dns/TRR.h- - netwerk/dns/TRRServiceChild.cpp- - netwerk/dns/TRRService.cpp- - netwerk/dns/TRRService.h- - netwerk/dns/TRRServiceParent.cpp - netwerk/ipc/DocumentLoadListener.cpp - netwerk/protocol/about/nsAboutProtocolHandler.cpp - netwerk/protocol/http/Http2Session.cpp@@ -240,21 +234,13 @@ - netwerk/protocol/websocket/BaseWebSocketChannel.cpp - netwerk/socket/nsSOCKSSocketProvider.cpp - netwerk/test/gtest/TestCookie.cpp- - netwerk/test/unit/head_trr.js- - netwerk/test/unit_ipc/test_dns_by_type_resolve_wrap.js- - netwerk/test/unit_ipc/test_trr_httpssvc_wrap.js - netwerk/test/unit/test_bug396389.js - netwerk/test/unit/test_bug427957.js - netwerk/test/unit/test_bug464591.js - netwerk/test/unit/test_bug479413.js - netwerk/test/unit/test_cookie_blacklist.js- - netwerk/test/unit/test_dns_by_type_resolve.js - netwerk/test/unit/test_idn_blacklist.js - netwerk/test/unit/test_idn_urls.js- - netwerk/test/unit/test_odoh.js- - netwerk/test/unit/test_trr_httpssvc.js- - netwerk/test/unit/test_trr.js- - netwerk/test/unit/test_use_httpssvc.js - netwerk/url-classifier/AsyncUrlChannelClassifier.cpp - netwerk/url-classifier/nsChannelClassifier.cpp - netwerk/url-classifier/nsChannelClassifier.h@@ -344,7 +330,7 @@ - toolkit/components/antitracking/test/browser/browser_siteSpecificWorkArounds.js - toolkit/components/antitracking/test/browser/browser_socialtracking_save_image.js - toolkit/components/antitracking/test/xpcshell/test_rejectForeignAllowList.js- - toolkit/components/crashes/CrashManager.jsm+ - toolkit/components/crashes/CrashManager.jsm.in - toolkit/components/crashes/tests/xpcshell/test_crash_manager.js - toolkit/components/extensions/Extension.jsm - toolkit/components/extensions/test/xpcshell/test_WebExtensionPolicy.js
Based on the provided diff, I don't see any clear security vulnerabilities being fixed. The changes appear to be primarily file removals from a lint configuration file (rejected-words.yml) and a filename change (CrashManager.jsm to CrashManager.jsm.in). Here's the analysis: 1. Vulnerability Existed: no No security vulnerability found File: tools/lint/rejected-words.yml Lines: Various Old Code: Multiple entries in the rejected words list Fixed Code: Fewer entries in the rejected words list 2. Vulnerability Existed: no No security vulnerability found File: tools/lint/rejected-words.yml Lines: 344 Old Code: - toolkit/components/crashes/CrashManager.jsm Fixed Code: - toolkit/components/crashes/CrashManager.jsm.in The changes appear to be: 1. Removing various test files and DNS/TRR-related files from the rejected words list 2. Renaming a reference to CrashManager.jsm to include the .in extension These changes don't appear to address any security vulnerabilities but rather update the lint configuration and file references. The removal of many test files from the rejected words list suggests these files are now allowed to contain certain words that were previously flagged.
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.invalid.css-color-4-rgba-2.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.fillStyle.parse.invalid.css-color-4-rgba-2.html@@ -17,14 +17,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 = '#0f0'; try { ctx.fillStyle = 'rgba(255 0 0, 1)'; } catch (e) { } // this shouldn't throw, but it shouldn't matter here if it does 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(); });
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] [Lines 17-25] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ctx.fillStyle = '#0f0'; try { ctx.fillStyle = 'rgba(255 0 0, 1)'; } catch (e) { } ctx.fillRect(0, 0, 100, 50); _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'); ctx.fillStyle = '#0f0'; try { ctx.fillStyle = 'rgba(255 0 0, 1)'; } catch (e) { } ctx.fillRect(0, 0, 100, 50); _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); The changes appear to be purely cosmetic/refactoring (variable name change from `offscreenCanvas` to `canvas` and corresponding updates to references). There's no indication of any security vulnerability being fixed in this diff. The test functionality remains the same, just with a different variable name.
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/transformations/2d.transformation.scale.large.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/transformations/2d.transformation.scale.large.worker.js@@ -13,15 +13,15 @@ }); 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); ctx.scale(1e5, 1e5); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 1, 1);-_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 potential security vulnerabilities: 1. Vulnerability Existed: no Variable Renaming [File] [Lines 13-21] [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"); Additional Details: - This appears to be a simple variable name change from `offscreenCanvas` to `canvas` for consistency or readability - The functionality remains exactly the same - No security implications are present in this change - The test case continues to verify canvas scaling behavior with large values (1e5)
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/widget/android/GeckoViewSupport.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/widget/android/GeckoViewSupport.h@@ -12,6 +12,7 @@ #include "mozilla/java/WebResponseWrappers.h" #include "mozilla/widget/WindowEvent.h"+class nsPIDOMWindowOuter; class nsWindow; namespace mozilla {
Based on the provided diff content, here's the analysis: Vulnerability Existed: not sure [Potential Information Leak] [widget/android/GeckoViewSupport.h] [Lines around 12] [Old Code] #include "mozilla/java/WebResponseWrappers.h" #include "mozilla/widget/WindowEvent.h" class nsWindow; [Fixed Code] #include "mozilla/java/WebResponseWrappers.h" #include "mozilla/widget/WindowEvent.h" class nsPIDOMWindowOuter; class nsWindow; Additional Details: - The change adds a forward declaration for `nsPIDOMWindowOuter` class - While this could potentially be related to fixing an information leak (as the class name suggests it deals with DOM windows), there's not enough context to confirm if this was actually fixing a vulnerability - The change might simply be a preparatory change for future functionality or a build fix - Without seeing the actual vulnerability or more context about how this class is used, we can't be certain about any security implications
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.