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/dom/canvas/ClientWebGLContext.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/canvas/ClientWebGLContext.h@@ -681,6 +681,11 @@ mImageData = imageData; }+ TexImageSourceAdapter(const dom::OffscreenCanvas* offscreenCanvas,+ ErrorResult*) {+ mOffscreenCanvas = offscreenCanvas;+ }+ TexImageSourceAdapter(const dom::Element* domElem, ErrorResult* const out_error) { mDomElem = domElem;@@ -917,13 +922,14 @@ public: bool InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder, layers::CanvasRenderer* aRenderer) override;++ void MarkContextCleanForFrameCapture() override {+ mFrameCaptureState = FrameCaptureState::CLEAN;+ } // Note that 'clean' here refers to its invalidation state, not the // contents of the buffer.- bool IsContextCleanForFrameCapture() override {- return !mCapturedFrameInvalidated;- }- void MarkContextCleanForFrameCapture() override {- mCapturedFrameInvalidated = false;+ Watchable<FrameCaptureState>* GetFrameCaptureState() override {+ return &mFrameCaptureState; } void OnMemoryPressure() override;@@ -986,7 +992,8 @@ protected: layers::LayersBackend GetCompositorBackendType() const;- bool mCapturedFrameInvalidated = false;+ Watchable<FrameCaptureState> mFrameCaptureState = {+ FrameCaptureState::CLEAN, "ClientWebGLContext::mFrameCaptureState"}; // ------------------------------------------------------------------------- // WebGLRenderingContext Basic Properties and Methods
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: not sure [Potential State Management Issue] [dom/canvas/ClientWebGLContext.h] [Lines 917-932] [Old Code] bool IsContextCleanForFrameCapture() override { return !mCapturedFrameInvalidated; } void MarkContextCleanForFrameCapture() override { mCapturedFrameInvalidated = false; } [Fixed Code] void MarkContextCleanForFrameCapture() override { mFrameCaptureState = FrameCaptureState::CLEAN; } Watchable<FrameCaptureState>* GetFrameCaptureState() override { return &mFrameCaptureState; } Additional Details: - The change replaces a simple boolean flag with a more sophisticated state management system using Watchable<FrameCaptureState> - While not clearly a security fix, this could potentially address race conditions or state synchronization issues in frame capture - The old implementation using a simple boolean might have been prone to race conditions in multi-threaded scenarios 2. Vulnerability Existed: no [Constructor Addition] [dom/canvas/ClientWebGLContext.h] [Lines 681-683] [Old Code] [No previous code] [Fixed Code] TexImageSourceAdapter(const dom::OffscreenCanvas* offscreenCanvas, ErrorResult*) { mOffscreenCanvas = offscreenCanvas; } Additional Details: - This appears to be a feature addition rather than a security fix - Adds support for OffscreenCanvas in the TexImageSourceAdapter constructor - No security implications are evident from this change Note: The changes appear to be more related to functionality improvements and better state management rather than direct security fixes. The first change might have indirect security benefits by improving state synchronization, but this isn't explicitly stated in the diff.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/shadows/2d.shadow.stroke.join.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/shadows/2d.shadow.stroke.join.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);@@ -28,10 +28,10 @@ ctx.lineTo(-150, -50); ctx.lineTo(-151, -100); ctx.stroke();-_assertPixel(offscreenCanvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 48,48, 0,255,0,255, "48,48", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "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, 48,48, 0,255,0,255, "48,48", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 98,48, 0,255,0,255, "98,48", "0,255,0,255"); t.done(); });
After analyzing the provided code diff, I don't see any security-related fixes. The changes appear to be purely variable renaming and don't affect security. Here's the analysis following your requested format: Vulnerability Existed: no [No security vulnerability found] [testing/web-platform/tests/html/canvas/offscreen/shadows/2d.shadow.stroke.join.1.worker.js] [Lines 13-28] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixel(offscreenCanvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixel(canvas, 1,1, 0,255,0,255, "1,1", "0,255,0,255"); The changes only involve renaming the variable from `offscreenCanvas` to `canvas` and updating all references to it. This doesn't appear to address any security vulnerability but rather improves code consistency or readability.
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/wasm/cranelift/build.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/wasm/cranelift/build.rs@@ -55,37 +55,30 @@ ]) .clang_arg("-I../..");- match env::var_os("MOZ_TOPOBJDIR") {- Some(objdir) => {- let generated_src = PathBuf::from(objdir).join("js/src");- let path = generated_src.clone().join("rust/extra-bindgen-flags");+ let generated_src = mozbuild::TOPOBJDIR.join("js/src");+ let path = generated_src.clone().join("rust/extra-bindgen-flags");- let mut extra_flags = String::new();- File::open(&path)- .expect("Failed to open extra-bindgen-flags file")- .read_to_string(&mut extra_flags)- .expect("Failed to read extra-bindgen-flags file");+ let mut extra_flags = String::new();+ File::open(&path)+ .expect("Failed to open extra-bindgen-flags file")+ .read_to_string(&mut extra_flags)+ .expect("Failed to read extra-bindgen-flags file");- let display_path = path.to_str().expect("path is utf8 encoded");- println!("cargo:rerun-if-changed={}", display_path);+ let display_path = path.to_str().expect("path is utf8 encoded");+ println!("cargo:rerun-if-changed={}", display_path);- let extra_flags: Vec<String> = extra_flags- .split_whitespace()- .map(|s| s.to_owned())- .collect();- for flag in extra_flags {- generator = generator.clang_arg(flag);- }+ let extra_flags: Vec<String> = extra_flags+ .split_whitespace()+ .map(|s| s.to_owned())+ .collect();+ for flag in extra_flags {+ generator = generator.clang_arg(flag);+ }- generator = generator.clang_arg(format!(- "-I{}",- generated_src.to_str().expect("path is utf8 encoded")- ));- }- None => {- println!("cargo:warning=MOZ_TOPOBJDIR should be set by default, otherwise the build is not guaranted to finish.");- }- }+ generator = generator.clang_arg(format!(+ "-I{}",+ generated_src.to_str().expect("path is utf8 encoded")+ )); let command_line_opts = generator.command_line_flags();
Let me analyze the code diff for potential security vulnerabilities: 1. Vulnerability Existed: not sure [Potential File Path Manipulation] [js/src/wasm/cranelift/build.rs] [Lines 55-83] [Old Code] ```rust match env::var_os("MOZ_TOPOBJDIR") { Some(objdir) => { let generated_src = PathBuf::from(objdir).join("js/src"); let path = generated_src.clone().join("rust/extra-bindgen-flags"); ... } None => { println!("cargo:warning=MOZ_TOPOBJDIR should be set by default..."); } } ``` [Fixed Code] ```rust let generated_src = mozbuild::TOPOBJDIR.join("js/src"); let path = generated_src.clone().join("rust/extra-bindgen-flags"); ... ``` Additional Details: The change moves from using an environment variable to a direct mozbuild reference, which might be more secure as it removes the potential for environment variable manipulation. However, without knowing the implementation details of mozbuild::TOPOBJDIR, I can't be certain if this was actually addressing a security vulnerability. 2. Vulnerability Existed: no [File Handling] [js/src/wasm/cranelift/build.rs] [Lines 55-83] [Old Code] ```rust File::open(&path) .expect("Failed to open extra-bindgen-flags file") .read_to_string(&mut extra_flags) .expect("Failed to read extra-bindgen-flags file"); ``` [Fixed Code] ```rust File::open(&path) .expect("Failed to open extra-bindgen-flags file") .read_to_string(&mut extra_flags) .expect("Failed to read extra-bindgen-flags file"); ``` Additional Details: The file handling code remains largely the same, just moved outside the match block. No security improvements or regressions are visible in this part of the change. Note: The diff shows a structural change in how the build configuration is handled, but doesn't clearly indicate any security vulnerabilities being fixed. The main change is removing the environment variable dependency in favor of a direct mozbuild reference, which could potentially improve security but isn't clearly documented as such.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/streams/writable-streams/start.any.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/streams/writable-streams/start.any.js@@ -1,4 +1,4 @@-// META: global=window,worker,jsshell+// META: global=window,worker // META: script=../resources/test-utils.js // META: script=../resources/recording-streams.js 'use strict';
Analyzing the provided code diff, here's the security assessment: Vulnerability Existed: no [Removed jsshell environment] [testing/web-platform/tests/streams/writable-streams/start.any.js] [Lines 1] [Old Code] // META: global=window,worker,jsshell [Fixed Code] // META: global=window,worker Additional Details: - The change removes the 'jsshell' environment from the test's metadata - This appears to be a test scope reduction rather than a security fix - No actual vulnerability is being addressed here, just test environment configuration - The modification suggests the test shouldn't run in jsshell environment anymore - No security implications are evident from this change alone
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/midi-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/midi-reporting.https.html@@ -8,7 +8,7 @@ <script> 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, "midi"); assert_equals(report.body.sourceFile, document.location.href);@@ -20,7 +20,7 @@ promise_test(async (t) => { const report = new Promise(resolve => { new ReportingObserver((reports, observer) => resolve([reports, observer]),- {types: ['feature-policy-violation']}).observe();+ {types: ['permissions-policy-violation']}).observe(); }); await promise_rejects_dom(t, 'SecurityError', navigator.requestMIDIAccess(), "MIDI device access should not be allowed in this document.");
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure [Feature Policy to Permissions Policy Renaming] [testing/web-platform/tests/feature-policy/reporting/midi-reporting.https.html] [Lines 8,20] [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: The changes appear to be related to a specification update where "Feature Policy" was renamed to "Permissions Policy". While this isn't a security vulnerability per se, it's an important update to match the current web standards. The change ensures proper reporting of policy violations under the new naming convention. There's no clear security vulnerability being fixed here, but rather a standards compliance 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/js/src/vm/SymbolType.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/vm/SymbolType.cpp@@ -46,6 +46,11 @@ cx->markAtom(sym); } return sym;+}++Symbol* Symbol::newWellKnown(JSContext* cx, JS::SymbolCode code,+ HandlePropertyName description) {+ return newInternal(cx, code, cx->runtime()->randomHashCode(), description); } Symbol* Symbol::for_(JSContext* cx, HandleString description) {
Let me analyze the code diff for security fixes: 1. Vulnerability Existed: not sure [Potential Missing Access Control] [js/src/vm/SymbolType.cpp] [Lines 46-51] [Old Code] (No equivalent function existed before) [Fixed Code] Symbol* Symbol::newWellKnown(JSContext* cx, JS::SymbolCode code, HandlePropertyName description) { return newInternal(cx, code, cx->runtime()->randomHashCode(), description); } Additional Details: - This appears to be a new function addition rather than a modification of existing code - The function creates well-known symbols with random hash codes - Without more context about how this function will be used, it's hard to determine if this fixes a vulnerability - The use of randomHashCode() might be a security improvement over a previous predictable value, but we can't see the previous implementation Note: Since this is adding new functionality rather than modifying existing code, it's difficult to assess if it's fixing a specific vulnerability. The change might be related to hardening symbol creation security, but we'd need more context about the threat model to 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/css-backgrounds/border-radius-shorthand-002.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-backgrounds/border-radius-shorthand-002.html@@ -5,7 +5,6 @@ <link rel="author" title="Arno" href="mailto:[email protected]"> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"> <link rel="match" href="border-radius-shorthand-002-ref.html">- <meta name="flags" content=""> <meta name="assert" content="The shorthand border radius property can be used to specify all four eliptical corners of a box."> <style type="text/css"> /* <![CDATA[ */
Based on the provided diff, I'll analyze it for security vulnerabilities: Vulnerability Existed: no [No specific vulnerability] [testing/web-platform/tests/css/css-backgrounds/border-radius-shorthand-002.html] [Lines 5] Old Code: `<meta name="flags" content="">` Fixed Code: [removed line] Additional details: - This appears to be a simple test file modification where an empty meta tag for "flags" was removed - There's no security vulnerability being fixed here, just a cleanup of unnecessary markup - The change doesn't relate to any known vulnerability patterns (XSS, injection, etc.) - The modification is likely part of general test maintenance rather than a security fix The diff shows no evidence of any security-related fixes, just removal of an unused meta tag.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.object.compare.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.object.compare.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'); var g1 = ctx.createLinearGradient(0, 0, 100, 0); var g2 = ctx.createLinearGradient(0, 0, 100, 0);
Analysis of the provided code diff: 1. Vulnerability Existed: no No security vulnerability found [File] [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 change appears to be purely a variable name refactoring from "offscreenCanvas" to "canvas" - No security-related changes are visible in this diff - The functionality remains exactly the same, only the variable name has changed - This is likely a code style/readability improvement rather than a security fix No vulnerabilities were identified in this diff. The changes are cosmetic rather than security-related.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/num_cpus/src/linux.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/num_cpus/src/linux.rs@@ -18,7 +18,7 @@ } macro_rules! some {- ($e:expr) => ({+ ($e:expr) => {{ match $e { Some(v) => v, None => {@@ -26,7 +26,7 @@ return None; } }- })+ }}; } pub fn get_num_cpus() -> usize {@@ -126,18 +126,15 @@ // Should only be called once debug_assert!(CGROUPS_CPUS.load(Ordering::SeqCst) == 0);- match load_cgroups("/proc/self/cgroup", "/proc/self/mountinfo") {- Some(quota) => {- if quota == 0 {- return;- }-- let logical = logical_cpus();- let count = ::std::cmp::min(quota, logical);-- CGROUPS_CPUS.store(count, Ordering::SeqCst);- }- None => return,+ if let Some(quota) = load_cgroups("/proc/self/cgroup", "/proc/self/mountinfo") {+ if quota == 0 {+ return;+ }++ let logical = logical_cpus();+ let count = ::std::cmp::min(quota, logical);++ CGROUPS_CPUS.store(count, Ordering::SeqCst); } }@@ -167,18 +164,14 @@ impl Cgroup { fn new(dir: PathBuf) -> Cgroup {- Cgroup {- base: dir,- }+ Cgroup { base: dir } } fn translate(mntinfo: MountInfo, subsys: Subsys) -> Option<Cgroup> { // Translate the subsystem directory via the host paths. debug!( "subsys = {:?}; root = {:?}; mount_point = {:?}",- subsys.base,- mntinfo.root,- mntinfo.mount_point+ subsys.base, mntinfo.root, mntinfo.mount_point ); let rel_from_root = some!(Path::new(&subsys.base).strip_prefix(&mntinfo.root).ok());@@ -238,13 +231,27 @@ fn parse_line(line: String) -> Option<MountInfo> { let mut fields = line.split(' ');+ // 7 5 0:6 </> /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime shared:7 - cgroup cgroup rw,cpu,cpuacct let mnt_root = some!(fields.nth(3));- let mnt_point = some!(fields.nth(0));-- if fields.nth(3) != Some("cgroup") {+ // 7 5 0:6 / </sys/fs/cgroup/cpu,cpuacct> rw,nosuid,nodev,noexec,relatime shared:7 - cgroup cgroup rw,cpu,cpuacct+ let mnt_point = some!(fields.next());++ // Ignore all fields until the separator(-).+ // Note: there could be zero or more optional fields before hyphen.+ // See: https://man7.org/linux/man-pages/man5/proc.5.html+ // 7 5 0:6 / /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime shared:7 <-> cgroup cgroup rw,cpu,cpuacct+ // Note: we cannot use `?` here because we need to support Rust 1.13.+ match fields.find(|&s| s == "-") {+ Some(_) => {}+ None => return None,+ };++ // 7 5 0:6 / /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime shared:7 - <cgroup> cgroup rw,cpu,cpuacct+ if fields.next() != Some("cgroup") { return None; }+ // 7 5 0:6 / /sys/fs/cgroup/cpu,cpuacct rw,nosuid,nodev,noexec,relatime shared:7 - cgroup cgroup <rw,cpu,cpuacct> let super_opts = some!(fields.nth(1)); // We only care about the 'cpu' option@@ -281,16 +288,18 @@ return None; }- fields.next().map(|path| Subsys { base: path.to_owned() })+ fields.next().map(|path| Subsys {+ base: path.to_owned(),+ }) } } #[cfg(test)] mod tests {+ use super::{Cgroup, MountInfo, Subsys}; use std::path::{Path, PathBuf};- use super::{Cgroup, MountInfo, Subsys};--++ // `static_in_const` feature is not stable in Rust 1.13. static FIXTURES_PROC: &'static str = "fixtures/cgroups/proc/cgroups"; static FIXTURES_CGROUPS: &'static str = "fixtures/cgroups/cgroups";@@ -304,12 +313,29 @@ #[test] fn test_load_mountinfo() {+ // test only one optional fields let path = join!(FIXTURES_PROC, "mountinfo"); let mnt_info = MountInfo::load_cpu(path).unwrap(); assert_eq!(mnt_info.root, "/"); assert_eq!(mnt_info.mount_point, "/sys/fs/cgroup/cpu,cpuacct");++ // test zero optional field+ let path = join!(FIXTURES_PROC, "mountinfo_zero_opt");++ let mnt_info = MountInfo::load_cpu(path).unwrap();++ assert_eq!(mnt_info.root, "/");+ assert_eq!(mnt_info.mount_point, "/sys/fs/cgroup/cpu,cpuacct");++ // test multi optional fields+ let path = join!(FIXTURES_PROC, "mountinfo_multi_opt");++ let mnt_info = MountInfo::load_cpu(path).unwrap();++ assert_eq!(mnt_info.root, "/");+ assert_eq!(mnt_info.mount_point, "/sys/fs/cgroup/cpu,cpuacct"); } #[test]@@ -324,12 +350,7 @@ #[test] fn test_cgroup_mount() { let cases = &[- (- "/",- "/sys/fs/cgroup/cpu",- "/",- Some("/sys/fs/cgroup/cpu"),- ),+ ("/", "/sys/fs/cgroup/cpu", "/", Some("/sys/fs/cgroup/cpu")), ( "/docker/01abcd", "/sys/fs/cgroup/cpu",@@ -348,27 +369,10 @@ "/docker/01abcd/large", Some("/sys/fs/cgroup/cpu/large"), ),- // fails-- (- "/docker/01abcd",- "/sys/fs/cgroup/cpu",- "/",- None,- ),- (- "/docker/01abcd",- "/sys/fs/cgroup/cpu",- "/docker",- None,- ),- (- "/docker/01abcd",- "/sys/fs/cgroup/cpu",- "/elsewhere",- None,- ),+ ("/docker/01abcd", "/sys/fs/cgroup/cpu", "/", None),+ ("/docker/01abcd", "/sys/fs/cgroup/cpu", "/docker", None),+ ("/docker/01abcd", "/sys/fs/cgroup/cpu", "/elsewhere", None), ( "/docker/01abcd", "/sys/fs/cgroup/cpu",@@ -387,7 +391,7 @@ }; let actual = Cgroup::translate(mnt_info, subsys).map(|c| c.base);- let expected = expected.map(|s| PathBuf::from(s));+ let expected = expected.map(PathBuf::from); assert_eq!(actual, expected); } }
Let me analyze the code diff for security fixes: 1. Vulnerability Existed: not sure Potential Path Traversal Vulnerability [third_party/rust/num_cpus/src/linux.rs] [Lines 167-186] [Old Code] The old code didn't have as robust path handling when translating cgroup paths [Fixed Code] The new code has more careful path handling and translation between host paths and container paths 2. Vulnerability Existed: yes Input Validation Vulnerability [third_party/rust/num_cpus/src/linux.rs] [Lines 231-257] [Old Code] The old parsing of mountinfo was simplistic and could potentially be tricked by malformed input [Fixed Code] The new code properly handles mountinfo parsing according to the Linux proc(5) manpage specification, including: - Better handling of optional fields before the separator - More precise field matching - Explicit checks for required fields 3. Vulnerability Existed: not sure Potential Integer Handling Issue [third_party/rust/num_cpus/src/linux.rs] [Lines 126-136] [Old Code] The old code had a match statement that could potentially miss some edge cases [Fixed Code] The new code uses if let Some() which is more explicit about the handling of the quota value The most significant security improvement appears to be in the mountinfo parsing, which now properly follows the Linux specification and handles edge cases better. The changes to path handling also appear to make the code more robust against potential path manipulation attacks. The diff also includes general code quality improvements (like better error handling and more idiomatic Rust), but these don't appear to be directly security-related.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/intl/lwbrk/Segmenter.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/intl/lwbrk/Segmenter.h@@ -122,6 +122,31 @@ }; /**+ * Grapheme cluster break iterator for UTF-16 text.+ */+class GraphemeClusterBreakIteratorUtf16 final : public SegmentIteratorUtf16 {+ public:+ explicit GraphemeClusterBreakIteratorUtf16(Span<const char16_t> aText);++ Maybe<uint32_t> Next() override;+};++/**+ * Grapheme cluster break reverse iterator for UTF-16 text.+ *+ * Note: The reverse iterator doesn't handle conjoining Jamo and emoji. Use it+ * at your own risk.+ */+class GraphemeClusterBreakReverseIteratorUtf16 final+ : public SegmentIteratorUtf16 {+ public:+ explicit GraphemeClusterBreakReverseIteratorUtf16(Span<const char16_t> aText);++ Maybe<uint32_t> Next() override;+ Maybe<uint32_t> Seek(uint32_t aPos) override;+};++/** * This component is a Mozilla-focused API for working with segmenters in * internationalization code. *
Based on the provided diff, I don't see any security fixes - this appears to be adding new functionality rather than fixing vulnerabilities. Here's the analysis: Vulnerability Existed: no [No security vulnerability found] [intl/lwbrk/Segmenter.h] [Lines 122-147] [Old Code: No grapheme cluster break iterator classes] [Fixed Code: Added GraphemeClusterBreakIteratorUtf16 and GraphemeClusterBreakReverseIteratorUtf16 classes] The diff shows the addition of two new classes for grapheme cluster breaking functionality in UTF-16 text, which is a feature addition rather than a security fix. The reverse iterator even includes a warning about its limitations with certain characters, but this is documented behavior rather than a vulnerability. No other vulnerabilities are apparent in this diff. The changes appear to be purely additive with no modifications to existing code that might indicate 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/js/xpconnect/src/XPCShellImpl.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/xpconnect/src/XPCShellImpl.cpp@@ -1503,6 +1503,13 @@ file.forget(result); return NS_OK; }+#ifdef MOZ_SANDBOX+ if (!strcmp(prop, NS_APP_CONTENT_PROCESS_TEMP_DIR)) {+ // Forward to the OS Temp directory+ *persistent = true;+ return NS_GetSpecialDirectory(NS_OS_TEMP_DIR, result);+ }+#endif return NS_ERROR_FAILURE; }
Here's the analysis following the required format: Vulnerability Existed: not sure [Potential Sandbox Escape or Directory Access Issue] [js/xpconnect/src/XPCShellImpl.cpp] [Lines 1503-1511] [Old Code] file.forget(result); return NS_OK; } return NS_ERROR_FAILURE; } [Fixed Code] file.forget(result); return NS_OK; } +#ifdef MOZ_SANDBOX + if (!strcmp(prop, NS_APP_CONTENT_PROCESS_TEMP_DIR)) { + // Forward to the OS Temp directory + *persistent = true; + return NS_GetSpecialDirectory(NS_OS_TEMP_DIR, result); + } +#endif return NS_ERROR_FAILURE; } Additional Details: 1. The change adds special directory handling for sandboxed content processes 2. While not clearly a security fix, it could be related to preventing sandbox escape by properly handling temp directory access 3. The change is wrapped in MOZ_SANDBOX conditional compilation, suggesting it's security-relevant 4. Without more context about the threat model, it's hard to determine if this fixes a specific vulnerability or is a proactive hardening measure
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/config/gfxConfigManager.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/config/gfxConfigManager.h@@ -38,6 +38,7 @@ mWrForceAngleNoGPUProcess(false), mWrDCompWinEnabled(false), mWrCompositorDCompRequired(false),+ mWrForcePartialPresent(false), mWrPartialPresent(false), mWrOptimizedShaders(false), mGPUProcessAllowSoftware(false),@@ -86,6 +87,7 @@ bool mWrForceAngleNoGPUProcess; bool mWrDCompWinEnabled; bool mWrCompositorDCompRequired;+ bool mWrForcePartialPresent; bool mWrPartialPresent; Maybe<bool> mWrShaderCache; bool mWrOptimizedShaders;
Based on the provided diff, I don't see any clear security vulnerabilities being fixed. The changes appear to be adding a new configuration flag (`mWrForcePartialPresent`) rather than fixing a security issue. Answer Format for Each Vulnerability: Vulnerability Existed: no No security vulnerability found [gfx/config/gfxConfigManager.h] [Lines 38,86] [Old Code] [Fixed Code] Additional Notes: - The diff shows the addition of a new boolean member variable `mWrForcePartialPresent` to the class - This appears to be a feature addition rather than a security fix - No old code was removed or modified, only new code was added - The change doesn't show any patterns typically associated with security fixes (e.g., input validation, memory safety, etc.) If there were any security implications to this change, they would likely be documented in the associated bug report or commit message, which isn't provided here.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.linear.transform.2.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.linear.transform.2.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.translate(100, 0); var g = ctx.createLinearGradient(0, 0, 200, 0);@@ -25,9 +25,9 @@ ctx.fillStyle = g; ctx.translate(-150, 0); ctx.fillRect(50, 0, 100, 50);-_assertPixel(offscreenCanvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");-_assertPixel(offscreenCanvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255");+_assertPixel(canvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 75,25, 0,255,0,255, "75,25", "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` for consistency or clarity. The functionality remains the same. Here's the structured response: Vulnerability Existed: no [No security vulnerability found] [testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.linear.transform.2.worker.js] [Lines 13-25] [Old Code: used variable name 'offscreenCanvas'] [Fixed Code: changed variable name to 'canvas'] The changes are: 1. Variable renaming from `offscreenCanvas` to `canvas` 2. Corresponding updates to the variable name in `_assertPixel` calls 3. No changes to the actual security-sensitive operations or logic
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-pseudo/cascade-highlight-005.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-pseudo/cascade-highlight-005.html@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-cascade"> <link rel="match" href="reference/cascade-highlight-005-ref.html">- <meta content="" name="flags"> <meta name="assert" content="In this test, 'background-color' has not been specified a value for the highlight pseudo-element of the span element. Since the span's parent element has an highlight pseudo-element also, then the span's background color for its highlight pseudo-element should be inherited from its parent highlight pseudo-element. Therefore the span element should have a green background color."> <!--
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-pseudo/cascade-highlight-005.html [Lines] 8 [Old Code] `<meta content="" name="flags">` [Fixed Code] (Line removed) Additional Details: - This appears to be a simple cleanup of an empty meta tag rather than a security fix - The removed line was a placeholder meta tag with empty content attribute - No security implications or vulnerabilities are apparent in this change - The modification seems related to test configuration rather than security No other vulnerabilities detected in the provided diff. The change is minimal and doesn't indicate any security-related fixes.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect.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.gradient.interpolate.zerosize.fillRect.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,7 +23,7 @@ g.addColorStop(1, '#f00'); ctx.fillStyle = g; ctx.fillRect(0, 0, 100, 50);-_assertPixel(offscreenCanvas, 40,20, 0,255,0,255, "40,20", "0,255,0,255");+_assertPixel(canvas, 40,20, 0,255,0,255, "40,20", "0,255,0,255"); t.done(); });
Let me analyze the code diff according to your instructions: 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'); _assertPixel(offscreenCanvas, 40,20, 0,255,0,255, "40,20", "0,255,0,255"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixel(canvas, 40,20, 0,255,0,255, "40,20", "0,255,0,255"); Additional Details: - The changes appear to be purely variable renaming from 'offscreenCanvas' to 'canvas' - No security implications are visible in this change - The functionality remains exactly the same, just with a different variable name - This is likely a code style/consistency improvement 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/testing/web-platform/tests/html/canvas/offscreen/shadows/2d.shadow.image.alpha.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/shadows/2d.shadow.image.alpha.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 = '#f00'; ctx.fillRect(0, 0, 100, 50);@@ -32,7 +32,7 @@ promise.then(function(response) { createImageBitmap(response).then(bitmap => { ctx.drawImage(bitmap, 0, -50);- _assertPixelApprox(offscreenCanvas, 50,25, 127,0,127,255, "50,25", "127,0,127,255", 2);+ _assertPixelApprox(canvas, 50,25, 127,0,127,255, "50,25", "127,0,127,255", 2); }, t_fail); }).then(t_pass, t_fail);
Here's the analysis of the provided code diff: 1. Vulnerability Existed: no Variable Renaming [File] [Lines 13-14, 32] [Old Code] ```javascript var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); // ... _assertPixelApprox(offscreenCanvas, 50,25, 127,0,127,255, "50,25", "127,0,127,255", 2); ``` [Fixed Code] ```javascript var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); // ... _assertPixelApprox(canvas, 50,25, 127,0,127,255, "50,25", "127,0,127,255", 2); ``` The changes in this diff appear to be purely cosmetic, involving a variable name change from `offscreenCanvas` to `canvas`. There are no security vulnerabilities being fixed here - this is simply a code style/readability improvement. The functionality remains exactly the same, and no security-related patterns or vulnerable code are being 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/testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.roundrect.2.radii.1.dompointinit.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.roundrect.2.radii.1.dompointinit.html@@ -17,8 +17,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50);@@ -27,20 +27,20 @@ ctx.fill(); // top-left corner-_assertPixel(offscreenCanvas, 20,1, 255,0,0,255, "20,1", "255,0,0,255");-_assertPixel(offscreenCanvas, 41,1, 0,255,0,255, "41,1", "0,255,0,255");-_assertPixel(offscreenCanvas, 1,10, 255,0,0,255, "1,10", "255,0,0,255");-_assertPixel(offscreenCanvas, 1,21, 0,255,0,255, "1,21", "0,255,0,255");+_assertPixel(canvas, 20,1, 255,0,0,255, "20,1", "255,0,0,255");+_assertPixel(canvas, 41,1, 0,255,0,255, "41,1", "0,255,0,255");+_assertPixel(canvas, 1,10, 255,0,0,255, "1,10", "255,0,0,255");+_assertPixel(canvas, 1,21, 0,255,0,255, "1,21", "0,255,0,255"); // bottom-right corner-_assertPixel(offscreenCanvas, 79,48, 255,0,0,255, "79,48", "255,0,0,255");-_assertPixel(offscreenCanvas, 58,48, 0,255,0,255, "58,48", "0,255,0,255");-_assertPixel(offscreenCanvas, 98,39, 255,0,0,255, "98,39", "255,0,0,255");-_assertPixel(offscreenCanvas, 98,28, 0,255,0,255, "98,28", "0,255,0,255");+_assertPixel(canvas, 79,48, 255,0,0,255, "79,48", "255,0,0,255");+_assertPixel(canvas, 58,48, 0,255,0,255, "58,48", "0,255,0,255");+_assertPixel(canvas, 98,39, 255,0,0,255, "98,39", "255,0,0,255");+_assertPixel(canvas, 98,28, 0,255,0,255, "98,28", "0,255,0,255"); // other corners-_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(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"); t.done(); });
After analyzing the provided code diff, I don't see any security-related fixes. The changes appear to be purely cosmetic, renaming a variable from `offscreenCanvas` to `canvas` and updating all references to it. 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.roundrect.2.radii.1.dompointinit.html Lines: 17-48 Old Code: Used variable name 'offscreenCanvas' Fixed Code: Changed variable name to 'canvas' The changes are: 1. Variable renaming (lines 17-18) 2. Updated references to the renamed variable (lines 27-48) 3. No security implications detected in these changes This appears to be a code style/readability improvement rather than a security fix. The functionality remains identical, 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/gfx/layers/ipc/SharedPlanarYCbCrImage.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/ipc/SharedPlanarYCbCrImage.h@@ -38,8 +38,7 @@ already_AddRefed<gfx::SourceSurface> GetAsSourceSurface() override; bool CopyData(const PlanarYCbCrData& aData) override; bool AdoptData(const Data& aData) override;-- bool Allocate(PlanarYCbCrData& aData);+ bool CreateEmptyBuffer(const Data& aData) override; bool IsValid() const override;@@ -52,6 +51,8 @@ TextureClientRecycleAllocator* RecycleAllocator(); private:+ bool Allocate(PlanarYCbCrData& aData);+ RefPtr<TextureClient> mTextureClient; RefPtr<ImageClient> mCompositable; RefPtr<TextureClientRecycleAllocator> mRecycleAllocator;
Let me analyze the code diff for potential security vulnerabilities. Vulnerability Existed: not sure [Potential Access Control Issue] [gfx/layers/ipc/SharedPlanarYCbCrImage.h] [Lines 38-52] [Old Code] bool Allocate(PlanarYCbCrData& aData); [Fixed Code] bool CreateEmptyBuffer(const Data& aData) override; ... private: bool Allocate(PlanarYCbCrData& aData); Additional Details: The main change involves moving the `Allocate` method from public to private scope and adding a new public `CreateEmptyBuffer` override. While this appears to be more of an API design change than a direct security fix, it could potentially address: 1. Better access control by restricting direct allocation capability 2. Enforcing a more controlled interface through the override However, without more context about how these methods were being used, it's unclear if this was fixing an actual security vulnerability or just improving the design. The change could potentially prevent misuse of the allocation functionality if that was a security concern.
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-values/calc-text-indent-intrinsic-1-ref.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-values/calc-text-indent-intrinsic-1-ref.html@@ -3,7 +3,6 @@ <head> <title>CSS Reference: intrinsic width of text-indent: calc() on blocks</title> <link rel="author" title="L. David Baron" href="https://dbaron.org/">- <meta name="flags" content=""> <style type="text/css"> body > div { margin: 0 0 1px 0; background: blue; color: white; height: 5px }
Analysis of the provided code diff: 1. Vulnerability Existed: no No security vulnerability found [File] [Lines 3-3] [Old Code] <meta name="flags" content=""> [Fixed Code] (line removed) Additional details: - The diff shows only the removal of an empty meta tag with a "flags" attribute. This doesn't appear to be related to any security vulnerability. - The change is more likely related to test configuration or cleanup rather than security. - No known vulnerability patterns (XSS, injection, etc.) are present in this change. - The removed line didn't contain any sensitive information or security-relevant configuration. No security vulnerabilities were identified in this diff. The change appears to be a benign removal of an unused or unnecessary meta tag.
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/taskcluster/scripts/misc/repack-clang-linux-win-cross.sh+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/taskcluster/scripts/misc/repack-clang-linux-win-cross.sh@@ -1,17 +1,19 @@ #!/bin/bash set -x -e -v-# This script is to repack a linux clang with Windows clang-cl.exe and compiler runtime.+# This script is for building clang for windows targets on a Linux host,+# including native Windows Compiler-RT libraries. cd $MOZ_FETCHES_DIR-# We already have the Linux clang extracted in $MOZ_FETCHES_DIR/clang by fetch-content-# We have a non-extracted clang-cl/clang.tar.zst for Windows clang-cl that we need to extract-# files from.+# We have a native linux64 toolchain in $MOZ_FETCHES_DIR/clang+# We have a native x86 windows compiler-rt in $MOZ_FETCHES_DIR/x86/compiler-rt+# We have a native x86_64 windows compiler-rt in $MOZ_FETCHES_DIR/x86_64/compiler-rt+clang_lib=$(echo clang/lib/clang/*/lib)+mkdir -p $clang_lib/windows+cp x86/compiler-rt/lib/windows/* $clang_lib/windows+cp x86_64/compiler-rt/lib/windows/* $clang_lib/windows-$GECKO_PATH/taskcluster/scripts/misc/zstdpy -d clang-cl/clang.tar.zst | tar -x --wildcards clang/lib/clang/*/lib/windows clang/bin/clang.exe clang/bin/llvm-symbolizer.exe-mv clang/bin/clang.exe clang/bin/clang-cl.exe-chmod +x clang/bin/clang-cl.exe tar caf clang.tar.zst clang # Put a tarball in the artifacts dir
Let me analyze the diff for potential security fixes: 1. Vulnerability Existed: not sure [Potential Path Traversal] [taskcluster/scripts/misc/repack-clang-linux-win-cross.sh] [Lines 1-19] [Old Code: Extracting and manipulating files from a compressed archive without explicit path validation] [Fixed Code: More controlled file copying from known directories with mkdir -p] 2. Vulnerability Existed: not sure [Potential Insecure File Permissions] [taskcluster/scripts/misc/repack-clang-linux-win-cross.sh] [Lines 1-19] [Old Code: No explicit permission setting for copied files] [Fixed Code: Still no explicit permission setting, but more controlled copying] Notes: - The main changes appear to be architectural rather than direct security fixes - The new version has more controlled file operations and better documentation - The removal of direct archive manipulation could mitigate potential path traversal issues - No clear CVE or specific vulnerability is being fixed, but the changes improve security posture
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.