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/third_party/rust/glean-core/src/metrics/datetime.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/glean-core/src/metrics/datetime.rs@@ -9,7 +9,7 @@ use crate::metrics::Metric; use crate::metrics::MetricType; use crate::storage::StorageManager;-use crate::util::{get_iso_time_string, local_now_with_offset_and_record};+use crate::util::{get_iso_time_string, local_now_with_offset}; use crate::CommonMetricData; use crate::Glean;@@ -117,7 +117,7 @@ return; }- let value = value.unwrap_or_else(|| local_now_with_offset_and_record(glean));+ let value = value.unwrap_or_else(local_now_with_offset); let value = Metric::Datetime(value, self.time_unit); glean.storage().record(glean, &self.meta, &value) }
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure [Potential Time Zone Handling Vulnerability] [third_party/rust/glean-core/src/metrics/datetime.rs] [Lines 9, 117] [Old Code] `use crate::util::{get_iso_time_string, local_now_with_offset_and_record};` `let value = value.unwrap_or_else(|| local_now_with_offset_and_record(glean));` [Fixed Code] `use crate::util::{get_iso_time_string, local_now_with_offset};` `let value = value.unwrap_or_else(local_now_with_offset);` Additional Details: The change involves removing the `_and_record` suffix from the time function and simplifying the time retrieval logic. While this doesn't clearly indicate a security vulnerability, it might relate to more reliable time zone handling or removing potential side effects in time recording. Without seeing the implementation details of both functions, we can't be certain if this fixed a security issue, but it's worth noting the change in time-handling behavior.
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-shapes/shape-outside/shape-box/shape-outside-border-box-001.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-001.html@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#shapes-from-box-values"> <link rel="match" href="reference/shape-outside-border-box-001-ref.html">- <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the border-box value."> <style> .container {
Based on the provided code diff, here's the analysis following the required format: Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-shapes/shape-outside/shape-box/shape-outside-border-box-001.html [Lines 9] [Old Code] <meta name="flags" content=""> [Fixed Code] (removed line) Additional Details: - The change simply removes an empty meta tag for "flags" which appears to be test-related metadata - This doesn't appear to be a security fix but rather a cleanup of test code - No known vulnerability is associated with this change - The modification doesn't affect any security-sensitive functionality Note: The diff shows minimal changes that don't appear to be security-related. The removal of an empty meta tag is unlikely to have 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.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/netwerk/test/perf/perftest_http3_lucasquicfetch.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/netwerk/test/perf/perftest_http3_lucasquicfetch.js@@ -4,7 +4,7 @@ /* eslint-env node */ /*-Ensure the `--firefox.preference=network.http.http3.enabled:true` is+Ensure the `--firefox.preference=network.http.http3.enable:true` is set for this test. */
Based on the provided diff, I'll analyze it for potential security vulnerabilities: Vulnerability Existed: no [Preference Name Correction] [netwerk/test/perf/perftest_http3_lucasquicfetch.js] [Lines 4-6] [Old Code] Ensure the `--firefox.preference=network.http.http3.enabled:true` is [Fixed Code] Ensure the `--firefox.preference=network.http.http3.enable:true` is Additional Details: 1. This appears to be a simple correction of a preference name from "network.http.http3.enabled" to "network.http.http3.enable" 2. The change doesn't appear to fix any security vulnerability, but rather corrects a configuration parameter 3. There's no evidence of any security-related issue being addressed in this change No security vulnerabilities were identified in this diff. The change is purely a configuration/documentation correction.
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.transparent.destination-atop.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.transparent.destination-atop.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, 0, 0.5)';@@ -22,7 +22,7 @@ ctx.globalCompositeOperation = 'destination-atop'; ctx.fillStyle = 'rgba(0, 0, 255, 0.75)'; ctx.fillRect(0, 0, 100, 50);-_assertPixelApprox(offscreenCanvas, 50,25, 0,128,128,191, "50,25", "0,128,128,191", 5);+_assertPixelApprox(canvas, 50,25, 0,128,128,191, "50,25", "0,128,128,191", 5); t.done(); });
Based on the provided diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: no Variable Renaming [File] [Lines 13-14, 22] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixelApprox(offscreenCanvas, 50,25, 0,128,128,191, "50,25", "0,128,128,191", 5); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixelApprox(canvas, 50,25, 0,128,128,191, "50,25", "0,128,128,191", 5); Additional Details: - This appears to be a simple variable renaming from `offscreenCanvas` to `canvas` for consistency or readability - No security-related changes were made in this diff - The functionality remains exactly the same, only the variable name was changed - The canvas operations and assertions remain identical in behavior
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.transform.skewed.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.transform.skewed.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'); // Create green with a red square ring inside it ctx.fillStyle = '#0f0';@@ -36,14 +36,14 @@ for (var i = 0; i < pts.length; ++i) ctx.lineTo(pts[i][0], pts[i][1]); ctx.fill();-_assertPixel(offscreenCanvas, 21,11, 0,255,0,255, "21,11", "0,255,0,255");-_assertPixel(offscreenCanvas, 79,11, 0,255,0,255, "79,11", "0,255,0,255");-_assertPixel(offscreenCanvas, 21,39, 0,255,0,255, "21,39", "0,255,0,255");-_assertPixel(offscreenCanvas, 79,39, 0,255,0,255, "79,39", "0,255,0,255");-_assertPixel(offscreenCanvas, 39,19, 0,255,0,255, "39,19", "0,255,0,255");-_assertPixel(offscreenCanvas, 61,19, 0,255,0,255, "61,19", "0,255,0,255");-_assertPixel(offscreenCanvas, 39,31, 0,255,0,255, "39,31", "0,255,0,255");-_assertPixel(offscreenCanvas, 61,31, 0,255,0,255, "61,31", "0,255,0,255");+_assertPixel(canvas, 21,11, 0,255,0,255, "21,11", "0,255,0,255");+_assertPixel(canvas, 79,11, 0,255,0,255, "79,11", "0,255,0,255");+_assertPixel(canvas, 21,39, 0,255,0,255, "21,39", "0,255,0,255");+_assertPixel(canvas, 79,39, 0,255,0,255, "79,39", "0,255,0,255");+_assertPixel(canvas, 39,19, 0,255,0,255, "39,19", "0,255,0,255");+_assertPixel(canvas, 61,19, 0,255,0,255, "61,19", "0,255,0,255");+_assertPixel(canvas, 39,31, 0,255,0,255, "39,31", "0,255,0,255");+_assertPixel(canvas, 61,31, 0,255,0,255, "61,31", "0,255,0,255"); t.done(); });
Analysis of the provided code diff: 1. Vulnerability Existed: no No security vulnerability found [File] [Lines 13-14, 36-43] Old Code: ``` var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixel(offscreenCanvas, 21,11, 0,255,0,255, "21,11", "0,255,0,255"); ``` Fixed Code: ``` var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixel(canvas, 21,11, 0,255,0,255, "21,11", "0,255,0,255"); ``` The changes in this diff appear to be purely cosmetic/refactoring, changing the variable name from `offscreenCanvas` to `canvas` for consistency or readability. There are no security-related changes or vulnerability fixes in this diff. 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/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.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-3.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(-2147483649, 4294967298, -18446744073709551619)'; 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, 19] 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/refactoring - renaming a variable from `offscreenCanvas` to `canvas`. There's no indication of any security vulnerability being fixed in this change. The test case itself is testing color value clamping behavior (with extreme values in the RGB parameters), but this is part of the test's expected functionality 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/third_party/rust/serde/src/private/de.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/serde/src/private/de.rs@@ -206,6 +206,7 @@ use lib::*; use __private::size_hint;+ use actually_private; use de::{ self, Deserialize, DeserializeSeed, Deserializer, EnumAccess, Expected, IgnoredAny, MapAccess, SeqAccess, Unexpected, Visitor,@@ -215,7 +216,7 @@ /// deserializing untagged enums and internally tagged enums. /// /// Not public API. Use serde-value instead.- #[derive(Debug)]+ #[derive(Debug, Clone)] pub enum Content<'de> { Bool(bool),@@ -294,7 +295,7 @@ // Untagged and internally tagged enums are only supported in // self-describing formats. let visitor = ContentVisitor { value: PhantomData };- deserializer.deserialize_any(visitor)+ deserializer.__deserialize_content(actually_private::T, visitor) } }@@ -1427,6 +1428,18 @@ drop(self); visitor.visit_unit() }++ fn __deserialize_content<V>(+ self,+ _: actually_private::T,+ visitor: V,+ ) -> Result<Content<'de>, Self::Error>+ where+ V: Visitor<'de, Value = Content<'de>>,+ {+ let _ = visitor;+ Ok(self.content)+ } } impl<'de, E> ContentDeserializer<'de, E> {@@ -2138,6 +2151,18 @@ { visitor.visit_unit() }++ fn __deserialize_content<V>(+ self,+ _: actually_private::T,+ visitor: V,+ ) -> Result<Content<'de>, Self::Error>+ where+ V: Visitor<'de, Value = Content<'de>>,+ {+ let _ = visitor;+ Ok(self.content.clone())+ } } impl<'a, 'de, E> ContentRefDeserializer<'a, 'de, E> {
Analyzing the provided code diff, here are the potential security vulnerabilities: 1. Vulnerability Existed: not sure [Potential Information Exposure] [third_party/rust/serde/src/private/de.rs] [Lines 206-216] [Old Code] use lib::*; use __private::size_hint; use de::{ self, Deserialize, DeserializeSeed, Deserializer, EnumAccess, Expected, IgnoredAny, MapAccess, SeqAccess, Unexpected, Visitor, } [Fixed Code] use lib::*; use __private::size_hint; use actually_private; use de::{ self, Deserialize, DeserializeSeed, Deserializer, EnumAccess, Expected, IgnoredAny, MapAccess, SeqAccess, Unexpected, Visitor, } Additional Details: The addition of `use actually_private` suggests some private implementation details might have been exposed before, but without more context about what this module contains, it's unclear if this was actually a security issue. 2. Vulnerability Existed: not sure [Potential Deserialization Vulnerability] [third_party/rust/serde/src/private/de.rs] [Lines 294-295] [Old Code] let visitor = ContentVisitor { value: PhantomData }; deserializer.deserialize_any(visitor) [Fixed Code] let visitor = ContentVisitor { value: PhantomData }; deserializer.__deserialize_content(actually_private::T, visitor) Additional Details: The change from `deserialize_any` to `__deserialize_content` suggests a more controlled deserialization path was implemented, which could potentially address deserialization vulnerabilities, but without more context about the threat model, this is uncertain. 3. Vulnerability Existed: not sure [Potential Clone Implementation Vulnerability] [third_party/rust/serde/src/private/de.rs] [Lines 215-216] [Old Code] #[derive(Debug)] [Fixed Code] #[derive(Debug, Clone)] Additional Details: The addition of Clone trait implementation could potentially affect security if cloning of sensitive data wasn't properly controlled before, but this is speculative without more context. Note: The changes appear to be related to internal serialization/deserialization handling and visibility controls, but without more specific context about the threat model and what these changes protect against, it's difficult to definitively identify specific vulnerabilities. The changes do suggest the developers were working on hardening the private/internal APIs related to deserialization.
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/wgpu-hal/src/metal/adapter.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/wgpu-hal/src/metal/adapter.rs@@ -55,6 +55,26 @@ (Tfc::STORAGE_READ_WRITE, Tfc::STORAGE_READ_WRITE) } };+ let msaa_desktop_if = if pc.msaa_desktop {+ Tfc::MULTISAMPLE+ } else {+ Tfc::empty()+ };+ let msaa_apple7x_if = if pc.msaa_desktop | pc.msaa_apple7 {+ Tfc::MULTISAMPLE+ } else {+ Tfc::empty()+ };+ let msaa_resolve_desktop_if = if pc.msaa_desktop {+ Tfc::MULTISAMPLE_RESOLVE+ } else {+ Tfc::empty()+ };+ let msaa_resolve_apple3x_if = if pc.msaa_desktop | pc.msaa_apple3 {+ Tfc::MULTISAMPLE_RESOLVE+ } else {+ Tfc::empty()+ }; let extra = match format { Tf::R8Unorm => {@@ -63,59 +83,77 @@ | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::R8Snorm => { Tfc::SAMPLED_LINEAR | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::R8Uint | Tf::R8Sint | Tf::R16Uint | Tf::R16Sint => {- read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT+ read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::MULTISAMPLE } Tf::R16Float => { read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::R16Unorm | Tf::R16Snorm => { Tfc::SAMPLED_LINEAR | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | msaa_resolve_desktop_if } Tf::Rg8Unorm | Tf::Rg8Snorm => { Tfc::SAMPLED_LINEAR | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND- }- Tf::Rg8Uint | Tf::Rg8Sint => Tfc::COLOR_ATTACHMENT,+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE+ }+ Tf::Rg8Uint | Tf::Rg8Sint => Tfc::COLOR_ATTACHMENT | Tfc::MULTISAMPLE, Tf::R32Uint | Tf::R32Sint => {- if pc.format_r32_all {- read_write_tier1_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT+ let storage = if pc.format_r32_all {+ read_write_tier1_if | Tfc::STORAGE } else {- Tfc::COLOR_ATTACHMENT- }+ Tfc::empty()+ };+ Tfc::COLOR_ATTACHMENT | storage | msaa_desktop_if } Tf::R32Float => {- let mut flags = Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND;- if pc.format_r32float_all {- flags |= read_write_tier1_if | Tfc::STORAGE | Tfc::SAMPLED_LINEAR;+ let flags = Tfc::COLOR_ATTACHMENT+ | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | msaa_resolve_desktop_if;+ let extra = if pc.format_r32float_all {+ read_write_tier1_if | Tfc::STORAGE | Tfc::SAMPLED_LINEAR } else if pc.format_r32float_no_filter {- flags |= Tfc::SAMPLED_LINEAR;- }- flags+ Tfc::SAMPLED_LINEAR+ } else {+ Tfc::empty()+ };+ flags | extra } Tf::Rg16Uint | Tf::Rg16Sint => {- read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT+ read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::MULTISAMPLE } Tf::Rg16Unorm | Tf::Rg16Snorm => { Tfc::SAMPLED_LINEAR | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | msaa_resolve_desktop_if } Tf::Rg16Float => { read_write_tier2_if@@ -123,6 +161,8 @@ | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::Rgba8Unorm => { read_write_tier2_if@@ -130,10 +170,15 @@ | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::Rgba8UnormSrgb | Tf::Bgra8UnormSrgb => {- let mut flags =- Tfc::SAMPLED_LINEAR | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND;+ let mut flags = Tfc::SAMPLED_LINEAR+ | Tfc::COLOR_ATTACHMENT+ | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE; flags.set(Tfc::STORAGE, pc.format_rgba8_srgb_all); flags }@@ -142,25 +187,34 @@ | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::Rgba8Uint | Tf::Rgba8Sint => {- read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT+ read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::MULTISAMPLE } Tf::Rgb10a2Unorm => {- let mut flags =- Tfc::SAMPLED_LINEAR | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND;+ let mut flags = Tfc::SAMPLED_LINEAR+ | Tfc::COLOR_ATTACHMENT+ | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE; flags.set(Tfc::STORAGE, pc.format_rgb10a2_unorm_all); flags } Tf::Rg11b10Float => {- let mut flags =- Tfc::SAMPLED_LINEAR | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND;+ let mut flags = Tfc::SAMPLED_LINEAR+ | Tfc::COLOR_ATTACHMENT+ | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE; flags.set(Tfc::STORAGE, pc.format_rg11b10_all); flags }- Tf::Rg32Uint | Tf::Rg32Sint => Tfc::COLOR_ATTACHMENT | Tfc::STORAGE,+ Tf::Rg32Uint | Tf::Rg32Sint => Tfc::COLOR_ATTACHMENT | Tfc::STORAGE | msaa_apple7x_if, Tf::Rg32Float => {- let mut flags = Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND;+ let mut flags =+ Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND | msaa_apple7x_if; if pc.format_rg32float_all { flags |= Tfc::STORAGE | Tfc::SAMPLED_LINEAR; } else if pc.format_rg32float_color_blend {@@ -169,13 +223,15 @@ flags } Tf::Rgba16Uint | Tf::Rgba16Sint => {- read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT+ read_write_tier2_if | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::MULTISAMPLE } Tf::Rgba16Unorm | Tf::Rgba16Snorm => { Tfc::SAMPLED_LINEAR | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | msaa_resolve_desktop_if } Tf::Rgba16Float => { read_write_tier2_if@@ -183,38 +239,52 @@ | Tfc::STORAGE | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND+ | Tfc::MULTISAMPLE+ | Tfc::MULTISAMPLE_RESOLVE } Tf::Rgba32Uint | Tf::Rgba32Sint => {- if pc.format_rgba32int_color_write {- read_write_tier2_if | Tfc::COLOR_ATTACHMENT | Tfc::STORAGE+ let storage = if pc.format_rgba32int_color_write {+ read_write_tier2_if | Tfc::STORAGE } else {- Tfc::COLOR_ATTACHMENT- }+ Tfc::empty()+ };+ storage | Tfc::COLOR_ATTACHMENT | msaa_desktop_if } Tf::Rgba32Float => {- if pc.format_rgba32float_all {+ let extra = if pc.format_rgba32float_all { read_write_tier2_if | Tfc::SAMPLED_LINEAR | Tfc::STORAGE- | Tfc::COLOR_ATTACHMENT | Tfc::COLOR_ATTACHMENT_BLEND } else if pc.format_rgba32float_color_write {- read_write_tier2_if | Tfc::COLOR_ATTACHMENT | Tfc::STORAGE+ read_write_tier2_if | Tfc::STORAGE } else {- Tfc::COLOR_ATTACHMENT- }+ Tfc::empty()+ };+ extra | Tfc::COLOR_ATTACHMENT | msaa_apple7x_if | msaa_resolve_desktop_if } Tf::Depth32Float => {- if pc.format_depth32float_filter {- Tfc::DEPTH_STENCIL_ATTACHMENT | Tfc::SAMPLED_LINEAR+ let linear = if pc.format_depth32float_filter {+ Tfc::SAMPLED_LINEAR } else {- Tfc::DEPTH_STENCIL_ATTACHMENT- }+ Tfc::empty()+ };+ linear | Tfc::DEPTH_STENCIL_ATTACHMENT | Tfc::MULTISAMPLE | msaa_resolve_apple3x_if } Tf::Depth24Plus | Tf::Depth24PlusStencil8 => {- Tfc::DEPTH_STENCIL_ATTACHMENT | Tfc::SAMPLED_LINEAR- }- Tf::Rgb9e5Ufloat => Tfc::SAMPLED_LINEAR,+ Tfc::DEPTH_STENCIL_ATTACHMENT+ | Tfc::SAMPLED_LINEAR+ | Tfc::MULTISAMPLE+ | msaa_resolve_apple3x_if+ }+ Tf::Rgb9e5Ufloat => {+ let msaa = if msaa_desktop_if.is_empty() {+ Tfc::MULTISAMPLE | Tfc::MULTISAMPLE_RESOLVE+ } else {+ Tfc::empty()+ };+ Tfc::SAMPLED_LINEAR | msaa+ } Tf::Bc1RgbaUnorm | Tf::Bc1RgbaUnormSrgb | Tf::Bc2RgbaUnorm@@ -613,6 +683,9 @@ } else { mtl::MTLReadWriteTextureTier::TierNone },+ msaa_desktop: os_is_mac,+ msaa_apple3: family_check && device.supports_family(MTLGPUFamily::Apple3),+ msaa_apple7: family_check && device.supports_family(MTLGPUFamily::Apple7), resource_heaps: Self::supports_any(device, RESOURCE_HEAP_SUPPORT), argument_buffers: Self::supports_any(device, ARGUMENT_BUFFER_SUPPORT), shared_textures: !os_is_mac,@@ -918,8 +991,9 @@ | F::MAPPABLE_PRIMARY_BUFFERS | F::VERTEX_WRITABLE_STORAGE | F::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES+ | F::PUSH_CONSTANTS | F::POLYGON_MODE_LINE- | F::CLEAR_COMMANDS+ | F::CLEAR_TEXTURE | F::TEXTURE_FORMAT_16BIT_NORM; features.set(F::DEPTH_CLIP_CONTROL, self.supports_depth_clip_control);
After analyzing the provided code diff, I don't see any clear security vulnerabilities being fixed. The changes appear to be primarily feature additions and improvements to texture format capabilities, particularly around multisample anti-aliasing (MSAA) support. Here's the structured response: Vulnerability Existed: no No security vulnerability found in the diff. The changes appear to be feature additions and improvements to texture format capabilities, particularly around MSAA support. The main changes include: 1. Added MSAA-related flags (Tfc::MULTISAMPLE and Tfc::MULTISAMPLE_RESOLVE) to various texture format capabilities 2. Added new fields to the PhysicalCapabilities struct (msaa_desktop, msaa_apple3, msaa_apple7) 3. Modified feature flags (e.g., changing F::CLEAR_COMMANDS to F::CLEAR_TEXTURE) 4. Added PUSH_CONSTANTS to the feature set These changes appear to be functional improvements rather than security fixes. The code is adding more granular control over MSAA capabilities and updating feature flags to better reflect the Metal API's capabilities.
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/mediaqueries/mq-calc-002.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/mediaqueries/mq-calc-002.html@@ -7,7 +7,6 @@ <link rel="help" href="http://www.w3.org/TR/css3-mediaqueries/#units"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="The size in pixels of the 'em' unit used in calc inside a media query does not depend on declarations and use the initial value.">- <meta name="flags" content=""> <style> :root { font-size: 30000px; } p { font-size: 16px; }
After analyzing the provided code diff, I don't see any security-related changes. The modification appears to be a test file cleanup rather than a security fix. Here's the analysis: Vulnerability Existed: no [No security vulnerability found] [testing/web-platform/tests/css/mediaqueries/mq-calc-002.html] [Lines 7] [Old Code: `<meta name="flags" content="">`] [Fixed Code: (line removed)] Additional details: 1. The change simply removes an empty meta tag that wasn't serving any purpose 2. This appears to be a test file cleanup rather than a security fix 3. No known vulnerabilities are being addressed by this change 4. The modification doesn't affect any security-sensitive functionality The diff shows typical maintenance activity rather than a security patch. No security vulnerabilities were identified in this change.
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/FrameMetrics.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/FrameMetrics.cpp@@ -27,7 +27,6 @@ aStream << "] [vd=" << aMetrics.GetVisualDestination(); } aStream << "] [dp=" << aMetrics.GetDisplayPort()- << "] [cdp=" << aMetrics.GetCriticalDisplayPort() << "] [rcs=" << aMetrics.GetBoundingCompositionSize() << "] [v=" << aMetrics.GetLayoutViewport() << nsPrintfCString("] [z=(ld=%.3f r=%.3f",
Based on the provided code diff, here's the analysis: Vulnerability Existed: not sure [Potential Information Leak] [gfx/layers/FrameMetrics.cpp] [Lines 27-28] [Old Code] aStream << "] [dp=" << aMetrics.GetDisplayPort() << "] [cdp=" << aMetrics.GetCriticalDisplayPort() [Fixed Code] aStream << "] [dp=" << aMetrics.GetDisplayPort() Additional Details: The diff shows removal of the CriticalDisplayPort information from debug output. While not a clear security vulnerability, this could be a preventive measure against potential information leakage in debug logs. The CriticalDisplayPort might contain sensitive layout information that shouldn't be exposed in logs. However, without more context about how this output is used, we can't be certain this was 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/devtools/client/themes/light-theme.css+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/client/themes/light-theme.css@@ -225,13 +225,10 @@ } /* Blackboxing lines */--.cm-s-mozilla .CodeMirror-lines .blackboxed-line {- background-color: hsl(211, 89%, 95%);-}--.theme-light .cm-s-mozilla .blackboxed-line .CodeMirror-linenumber {- color: var(--theme-icon-checked-color);+.CodeMirror-lines .blackboxed-line,+.CodeMirror-lines .blackboxed-line .CodeMirror-gutter-elt {+ /* Same color hue than the one used for the icon, but with different saturation/light */+ background-color: hsl(347.8, 15%, 90%); } /* Highlight for evaluating current statement. */
Analysis of the provided CSS diff: 1. Vulnerability Existed: no No specific vulnerability was found in this CSS diff. The changes appear to be purely stylistic/thematic modifications to how blackboxed lines are displayed in the developer tools. The changes involve color adjustments and restructuring of CSS selectors, but don't relate to any security vulnerabilities. 2. Vulnerability Existed: no The changes involve: - Removing specific styling for blackboxed lines in the Mozilla theme - Consolidating the styling for blackboxed lines and their gutter elements - Changing the background color from a blue hue (hsl(211, 89%, 95%)) to a more neutral hue (hsl(347.8, 15%, 90%)) - Removing the special styling for line numbers in blackboxed lines These are purely visual/UX changes and don't impact security. No known CSS-related vulnerabilities (like XSS or injection issues) are present in either the old or new code.
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/feature-policy/reporting/camera-reporting.https.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/feature-policy/reporting/camera-reporting.https.html@@ -13,7 +13,7 @@ var check_report_format = (reports, observer) => { let report = reports[0];- assert_equals(report.type, "feature-policy-violation");+ assert_equals(report.type, "permissions-policy-violation"); assert_equals(report.url, document.location.href); assert_equals(report.body.featureId, "camera"); assert_equals(report.body.sourceFile, document.location.href);@@ -23,7 +23,7 @@ }; new ReportingObserver(t.step_func_done(check_report_format),- {types: ['feature-policy-violation']}).observe();+ {types: ['permissions-policy-violation']}).observe(); setMediaPermission("granted", ["camera"]).then(() => navigator.mediaDevices.getUserMedia({video: true})) .then(
Based on the provided code diff, here's the analysis: Vulnerability Existed: no Feature Policy to Permissions Policy Renaming [File] [Lines 13,23] [Old Code] assert_equals(report.type, "feature-policy-violation"); {types: ['feature-policy-violation']}).observe(); [Fixed Code] assert_equals(report.type, "permissions-policy-violation"); {types: ['permissions-policy-violation']}).observe(); Additional Details: This appears to be a standard update reflecting the renaming from "Feature Policy" to "Permissions Policy" in the web specifications. The change is consistent with the W3C specification updates and doesn't represent a security vulnerability fix, but rather a terminology update to match current standards. No actual security vulnerability is being addressed here - it's purely a naming convention update.
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-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-048.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-048.html@@ -9,7 +9,6 @@ <link rel="author" title="Mozilla" href="http://www.mozilla.org/"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#supported-basic-shapes"> <link rel="match" href="reference/shape-outside-ellipse-048-ref.html">- <meta name="flags" content=""> <meta name="assert" content="Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closest-side farthest-side at left 40px top 60px) border-box"> <style> .container {
Based on the provided diff, I'll analyze it for potential security vulnerabilities: Vulnerability Existed: no No security vulnerability found [File] [Lines 9] [Old Code] <meta name="flags" content=""> [Fixed Code] (line removed) Additional Details: - The change simply removes a meta tag that wasn't serving any apparent security purpose - The "flags" meta tag appears to be test-related metadata rather than security-relevant - No known vulnerability patterns are present in this change - The modification doesn't affect any security-sensitive functionality This appears to be a simple test file cleanup rather than a security fix. The removed line was an empty meta tag that didn't impact security.
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/syn/tests/common/eq.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/syn/tests/common/eq.rs@@ -303,7 +303,7 @@ spanless_eq_struct!(AttributesData; attrs tokens); spanless_eq_struct!(BareFnTy; unsafety ext generic_params decl); spanless_eq_struct!(Block; stmts id rules span tokens could_be_bare_literal);-spanless_eq_struct!(Crate; attrs items span);+spanless_eq_struct!(Crate; attrs items span id is_placeholder); spanless_eq_struct!(EnumDef; variants); spanless_eq_struct!(Expr; id kind span attrs !tokens); spanless_eq_struct!(ExprField; attrs id span ident expr is_shorthand is_placeholder);
Analyzing the provided code diff: 1. Vulnerability Existed: not sure [Potential Missing Fields in Struct Comparison] [third_party/rust/syn/tests/common/eq.rs] [Lines 303] Old Code: `spanless_eq_struct!(Crate; attrs items span);` Fixed Code: `spanless_eq_struct!(Crate; attrs items span id is_placeholder);` Additional Details: The change adds `id` and `is_placeholder` fields to the struct comparison macro. While this doesn't appear to be a direct security vulnerability, missing fields in comparison operations could potentially lead to incorrect equality comparisons in security-sensitive contexts. However, without more context about how this macro is used, we can't be certain if this was a security fix or just a functional improvement.
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.fill.overlap.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.fill.overlap.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 = '#000'; ctx.fillRect(0, 0, 100, 50);@@ -23,7 +23,7 @@ ctx.closePath(); ctx.rect(10, 10, 80, 30); ctx.fill();-_assertPixelApprox(offscreenCanvas, 50,25, 0,127,0,255, "50,25", "0,127,0,255", 1);+_assertPixelApprox(canvas, 50,25, 0,127,0,255, "50,25", "0,127,0,255", 1); t.done(); });
Based on the provided diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming for better code clarity. Here's the analysis: 1. Vulnerability Existed: no No Vulnerability Found [File] [Lines 13-14, 23] Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixelApprox(offscreenCanvas, 50,25, 0,127,0,255, "50,25", "0,127,0,255", 1); Fixed Code: var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixelApprox(canvas, 50,25, 0,127,0,255, "50,25", "0,127,0,255", 1); The changes simply rename the variable `offscreenCanvas` to `canvas` throughout the file, which doesn't appear to address any security issues but rather improves code readability/maintainability. No security-related functionality was modified.
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/dns/TRR.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/netwerk/dns/TRR.h@@ -95,7 +95,7 @@ // FailData() must be called to signal that the asynch TRR resolve is // completed. For failed name resolves ("no such host"), the 'error' it // passses on in its argument must be NS_ERROR_UNKNOWN_HOST. Other errors- // (if host was blacklisted, there as a bad content-type received, etc)+ // (if host was blocklisted, there as a bad content-type received, etc) // other error codes must be used. This distinction is important for the // subsequent logic to separate the error reasons. nsresult FailData(nsresult error);
Here's the analysis of the provided code diff: Vulnerability Existed: no [Terminology Change] [netwerk/dns/TRR.h] [Lines 95] [Old Code] // (if host was blacklisted, there as a bad content-type received, etc) [Fixed Code] // (if host was blocklisted, there as a bad content-type received, etc) Additional Details: - This appears to be a terminology change from "blacklisted" to "blocklisted" rather than a security fix - The change is in a comment, not actual code - No functional changes or security implications were introduced - The modification aligns with industry trends toward more inclusive language No actual security vulnerabilities were addressed in this diff. The change is purely cosmetic/terminological 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/offscreen/compositing/2d.composite.uncovered.fill.copy.html+++ /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.uncovered.fill.copy.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 = 'rgba(0, 255, 0, 0.5)';@@ -27,7 +27,7 @@ ctx.fillStyle = 'rgba(0, 0, 255, 0.75)'; ctx.translate(0, 25); ctx.fillRect(0, 50, 100, 50);-_assertPixelApprox(offscreenCanvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0", 5);+_assertPixelApprox(canvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0", 5); t.done(); });
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming and don't involve any security-related modifications. Here's the analysis following your requested format: Vulnerability Existed: no [No security vulnerability found] [testing/web-platform/tests/html/canvas/offscreen/compositing/2d.composite.uncovered.fill.copy.html] [Lines 17-27] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixelApprox(offscreenCanvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0", 5); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixelApprox(canvas, 50,25, 0,0,0,0, "50,25", "0,0,0,0", 5); The changes only involve: 1. Renaming the variable from `offscreenCanvas` to `canvas` 2. Updating the variable name in the `_assertPixelApprox` call 3. No security implications were identified in these changes
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/streams/CountQueuingStrategy.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/streams/CountQueuingStrategy.cpp@@ -8,18 +8,27 @@ #include "mozilla/dom/FunctionBinding.h" #include "mozilla/dom/QueuingStrategyBinding.h" #include "nsCOMPtr.h"+#include "nsISupports.h" namespace mozilla { namespace dom {-// Only needed for refcounted objects.-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(CountQueuingStrategy, mGlobal)-NS_IMPL_CYCLE_COLLECTING_ADDREF(CountQueuingStrategy)-NS_IMPL_CYCLE_COLLECTING_RELEASE(CountQueuingStrategy)+NS_IMPL_CYCLE_COLLECTION(BaseQueuingStrategy, mGlobal)+NS_IMPL_CYCLE_COLLECTING_ADDREF(BaseQueuingStrategy)+NS_IMPL_CYCLE_COLLECTING_RELEASE(BaseQueuingStrategy)++NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(BaseQueuingStrategy)+ NS_INTERFACE_MAP_ENTRY(nsISupports)+NS_INTERFACE_MAP_END++NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_INHERITED(CountQueuingStrategy,+ BaseQueuingStrategy)+NS_IMPL_ADDREF_INHERITED(CountQueuingStrategy, BaseQueuingStrategy)+NS_IMPL_RELEASE_INHERITED(CountQueuingStrategy, BaseQueuingStrategy)+ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CountQueuingStrategy) NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY- NS_INTERFACE_MAP_ENTRY(nsISupports)-NS_INTERFACE_MAP_END+NS_INTERFACE_MAP_END_INHERITING(BaseQueuingStrategy) /* static */ already_AddRefed<CountQueuingStrategy> CountQueuingStrategy::Constructor(@@ -29,7 +38,7 @@ return strategy.forget(); }-nsIGlobalObject* CountQueuingStrategy::GetParentObject() const {+nsIGlobalObject* BaseQueuingStrategy::GetParentObject() const { return mGlobal; }
Here's the analysis of the provided code diff following the specified format: 1. Vulnerability Existed: not sure [Potential Inheritance Issue] [dom/streams/CountQueuingStrategy.cpp] [Lines 8-27] [Old Code] NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(CountQueuingStrategy, mGlobal) NS_IMPL_CYCLE_COLLECTING_ADDREF(CountQueuingStrategy) NS_IMPL_CYCLE_COLLECTING_RELEASE(CountQueuingStrategy) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CountQueuingStrategy) NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY NS_INTERFACE_MAP_ENTRY(nsISupports) NS_INTERFACE_MAP_END [Fixed Code] NS_IMPL_CYCLE_COLLECTION(BaseQueuingStrategy, mGlobal) NS_IMPL_CYCLE_COLLECTING_ADDREF(BaseQueuingStrategy) NS_IMPL_CYCLE_COLLECTING_RELEASE(BaseQueuingStrategy) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(BaseQueuingStrategy) NS_INTERFACE_MAP_ENTRY(nsISupports) NS_INTERFACE_MAP_END NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_INHERITED(CountQueuingStrategy, BaseQueuingStrategy) NS_IMPL_ADDREF_INHERITED(CountQueuingStrategy, BaseQueuingStrategy) NS_IMPL_RELEASE_INHERITED(CountQueuingStrategy, BaseQueuingStrategy) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CountQueuingStrategy) NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY NS_INTERFACE_MAP_END_INHERITING(BaseQueuingStrategy) Additional Details: The changes appear to introduce a new base class (BaseQueuingStrategy) and properly implement inheritance for the CountQueuingStrategy class. While this doesn't clearly indicate a security vulnerability, it might be related to fixing potential memory management or reference counting issues that could lead to vulnerabilities like use-after-free if not handled properly. The changes ensure proper inheritance of nsISupports interface and cycle collection, which is important for memory safety in Gecko's XPCOM system. Note: Without more context about the actual bugs being fixed or security issues being addressed, this analysis can only speculate about potential security implications. The changes appear to be more about architectural improvement than direct 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/dom/ipc/WindowGlobalChild.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/ipc/WindowGlobalChild.cpp@@ -73,7 +73,8 @@ } profiler_register_page(BrowsingContext()->BrowserId(), InnerWindowId(), aDocumentURI->GetSpecOrDefault(),- embedderInnerWindowID);+ embedderInnerWindowID,+ BrowsingContext()->UsePrivateBrowsing()); } already_AddRefed<WindowGlobalChild> WindowGlobalChild::Create(@@ -602,7 +603,8 @@ } profiler_register_page(BrowsingContext()->BrowserId(), InnerWindowId(), aDocumentURI->GetSpecOrDefault(),- embedderInnerWindowID);+ embedderInnerWindowID,+ BrowsingContext()->UsePrivateBrowsing()); mDocumentURI = aDocumentURI; SendUpdateDocumentURI(aDocumentURI); }
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure [Potential Information Leak] [dom/ipc/WindowGlobalChild.cpp] [Lines 73-77, 602-606] [Old Code] profiler_register_page(BrowsingContext()->BrowserId(), InnerWindowId(), aDocumentURI->GetSpecOrDefault(), embedderInnerWindowID); [Fixed Code] profiler_register_page(BrowsingContext()->BrowserId(), InnerWindowId(), aDocumentURI->GetSpecOrDefault(), embedderInnerWindowID, BrowsingContext()->UsePrivateBrowsing()); Additional Details: - The change adds a new parameter `BrowsingContext()->UsePrivateBrowsing()` to the `profiler_register_page` calls - This appears to be adding private browsing state information to the profiler registration - While not clearly a security vulnerability, this could be related to preventing information leaks from private browsing sessions - Without more context about the profiler system, it's unclear if this was an actual vulnerability or just a privacy improvement - The change is made in two locations in the file with identical modifications
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/ipc/CanvasChild.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/ipc/CanvasChild.cpp@@ -200,6 +200,13 @@ mHasOutstandingWriteLock = false; }++ // We hold onto the last transaction's external surfaces until we have waited+ // for the write locks in this transaction. This means we know that the+ // surfaces have been picked up in the canvas threads and there is no race+ // with them being removed from SharedSurfacesParent. Note this releases the+ // current contents of mLastTransactionExternalSurfaces.+ mRecorder->TakeExternalSurfaces(mLastTransactionExternalSurfaces); } void CanvasChild::EnsureBeginTransaction() {
Let me analyze the diff for security vulnerabilities: Vulnerability Existed: not sure Potential Race Condition or Resource Leak [File] gfx/layers/ipc/CanvasChild.cpp [Lines around 200] [Old Code] mHasOutstandingWriteLock = false; } [Fixed Code] mHasOutstandingWriteLock = false; } // We hold onto the last transaction's external surfaces until we have waited // for the write locks in this transaction. This means we know that the // surfaces have been picked up in the canvas threads and there is no race // with them being removed from SharedSurfacesParent. Note this releases the // current contents of mLastTransactionExternalSurfaces. mRecorder->TakeExternalSurfaces(mLastTransactionExternalSurfaces); Additional Details: The fix adds handling for external surfaces to prevent potential race conditions where surfaces could be removed from SharedSurfacesParent while still being used by canvas threads. While not explicitly named as a security vulnerability, this appears to address a synchronization issue that could potentially lead to use-after-free or race conditions. The comment suggests this was added to prevent races, which often have 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.