Shared security patch analysis results
AI Used: DEEPSEEK deepseek-chat--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.lineTo.nextpoint.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.lineTo.nextpoint.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);@@ -25,7 +25,7 @@ ctx.lineTo(0, 25); ctx.lineTo(100, 25); ctx.stroke();-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); t.done(); });
After analyzing the provided code diff, I don't see any security-related fixes. The changes appear to be purely cosmetic/refactoring changes where the variable name `offscreenCanvas` was renamed to `canvas`. The functionality remains the same. Here's the analysis following your requested format: Vulnerability Existed: no No security vulnerability found [testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.lineTo.nextpoint.worker.js] [Lines 13-25] [Old Code: var offscreenCanvas = new OffscreenCanvas(100, 50); ... _assertPixel(offscreenCanvas, ...)] [Fixed Code: var canvas = new OffscreenCanvas(100, 50); ... _assertPixel(canvas, ...)] The changes are: 1. Variable name change from `offscreenCanvas` to `canvas` in the declaration 2. Updated variable name in the `_assertPixel` call 3. No changes to the actual canvas operations or security-related functionality No CVE or known vulnerability patterns are present in this diff.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/darling_core/src/lib.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/darling_core/src/lib.rs@@ -22,6 +22,7 @@ pub(crate) mod codegen; pub mod derive; pub mod error;+mod from_attributes; mod from_derive_input; mod from_field; mod from_generic_param;@@ -33,14 +34,15 @@ pub mod usage; pub mod util;-pub use error::{Error, Result};-pub use from_derive_input::FromDeriveInput;-pub use from_field::FromField;-pub use from_generic_param::FromGenericParam;-pub use from_generics::FromGenerics;-pub use from_meta::FromMeta;-pub use from_type_param::FromTypeParam;-pub use from_variant::FromVariant;+pub use self::error::{Error, Result};+pub use self::from_attributes::FromAttributes;+pub use self::from_derive_input::FromDeriveInput;+pub use self::from_field::FromField;+pub use self::from_generic_param::FromGenericParam;+pub use self::from_generics::FromGenerics;+pub use self::from_meta::FromMeta;+pub use self::from_type_param::FromTypeParam;+pub use self::from_variant::FromVariant; // Re-export tokenizer #[doc(hidden)]
Based on the provided diff, I don't see any clear security vulnerabilities being fixed. The changes appear to be primarily organizational/structural modifications to the code. Here's my analysis: 1. Vulnerability Existed: no - No specific vulnerability found - The changes include: * Adding a new module `from_attributes` * Changing absolute imports to relative imports using `self::` * Adding a new re-export `FromAttributes` The modifications seem to be about code organization rather than security fixes. The changes involve: 1. Adding a new module that wasn't previously present 2. Making import paths more explicit by using `self::` prefix 3. Exporting the new module's functionality These appear to be refactoring changes rather than security-related fixes. No security vulnerabilities are being addressed in this particular 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/browser/base/content/test/tabdialogs/browser_subdialog_esc.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/browser/base/content/test/tabdialogs/browser_subdialog_esc.js@@ -80,7 +80,7 @@ // Open dropdown let select = dialog._frame.contentDocument.getElementById("select"); let shownPromise = BrowserTestUtils.waitForEvent(- select,+ document.getElementById("ContentSelectDropdown"), "popupshowing", true );@@ -92,7 +92,7 @@ await shownPromise; let hiddenPromise = BrowserTestUtils.waitForEvent(- select,+ document.getElementById("ContentSelectDropdown"), "popuphiding", true );
Let me analyze the code diff for potential security fixes: 1. Vulnerability Existed: not sure [Potential Event Listener Security Issue] [browser/base/content/test/tabdialogs/browser_subdialog_esc.js] [Lines 80-92] [Old Code] let select = dialog._frame.contentDocument.getElementById("select"); let shownPromise = BrowserTestUtils.waitForEvent( select, "popupshowing", true ); ... let hiddenPromise = BrowserTestUtils.waitForEvent( select, "popuphiding", true ); [Fixed Code] let select = dialog._frame.contentDocument.getElementById("select"); let shownPromise = BrowserTestUtils.waitForEvent( document.getElementById("ContentSelectDropdown"), "popupshowing", true ); ... let hiddenPromise = BrowserTestUtils.waitForEvent( document.getElementById("ContentSelectDropdown"), "popuphiding", true ); Additional Details: The change appears to be modifying the event listener target from an element within the frame's document to an element in the main document. While this might be related to security (potentially preventing event listener issues with cross-document references), I can't find a specific named vulnerability this directly addresses. The change could be related to making the test more reliable rather than fixing a security vulnerability.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/taskcluster/ci/build/android-asan.yml+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/taskcluster/ci/build/android-asan.yml@@ -5,6 +5,8 @@ job-defaults: attributes: artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml+ maven_packages:+ - geckoview index: product: mobile worker:@@ -14,7 +16,7 @@ GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline" artifacts: - name: public/build/maven- path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/maven/+ path: /builds/worker/workspace/obj-build/gradle/maven/ type: directory - name: public/build/geckoview-androidTest.apk path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
Based on the provided diff, I'll analyze it for potential security vulnerabilities: 1. Vulnerability Existed: not sure [Potential Information Exposure] [taskcluster/ci/build/android-asan.yml] [Lines 5-7] [Old Code: No maven_packages specification] [Fixed Code: Added maven_packages with geckoview specification] Additional Details: The addition of maven_packages configuration might expose build dependencies, but without more context about the build system, it's unclear if this poses a security risk. 2. Vulnerability Existed: not sure [Potential Path Traversal] [taskcluster/ci/build/android-asan.yml] [Lines 14-16] [Old Code: path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/maven/] [Fixed Code: path: /builds/worker/workspace/obj-build/gradle/maven/] Additional Details: The path change might be related to security hardening by simplifying the artifact path structure, but without more context about the build system's security model, this is uncertain. Note: The changes appear to be more related to build system configuration than direct security fixes. The modifications might be part of a larger security improvement that isn't fully visible in this isolated diff.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/selectors/old-tests/css3-modsel-82b.xml+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/selectors/old-tests/css3-modsel-82b.xml@@ -8,7 +8,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:[email protected]"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found -->- <meta name="flags" content="" /> </head> <body> <div class="t1">
Based on the provided diff, I'll analyze it for security vulnerabilities: Vulnerability Existed: no [No specific vulnerability found] [testing/web-platform/tests/css/selectors/old-tests/css3-modsel-82b.xml] [Lines 8] [Old Code: <meta name="flags" content="" />] [Fixed Code: (line removed)] Additional details: 1. The change simply removes an empty meta tag with a "flags" attribute, which doesn't appear to have any security implications. 2. The "flags" meta tag appears to be test-related metadata rather than security-relevant code. 3. There's no evidence of any security vulnerability being fixed in this change. 4. The modification seems to be a cleanup of test markup 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/the-offscreen-canvas/context.casesensitive.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/the-offscreen-canvas/context.casesensitive.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 offscreenCanvas2 = new OffscreenCanvas(100, 50); assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('2D'); });
Based on the provided code diff, here's the analysis: 1. Vulnerability Existed: no No specific 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'); 2. Vulnerability Existed: no No specific vulnerability found [File] [Lines 20-20] [Old Code] (no old code, new test case added) [Fixed Code] var offscreenCanvas2 = new OffscreenCanvas(100, 50); assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('2D'); }); The changes appear to be: 1. A variable rename from 'offscreenCanvas' to 'canvas' (likely for consistency) 2. Addition of a new test case to verify case sensitivity of context type strings Neither change appears to address a security vulnerability - they seem to be either code style improvements or test case additions. The test case addition helps ensure proper case-sensitive handling of context types, but this is more of a specification compliance issue 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/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.html@@ -17,8 +17,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50);@@ -47,7 +47,7 @@ ctx.strokeRect(0, Infinity, Infinity, Infinity); ctx.strokeRect(0, Infinity, 100, Infinity); ctx.strokeRect(0, 0, Infinity, Infinity);-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); t.done(); });
Based on the provided diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely cosmetic/refactoring (variable name change) and don't affect security. Here's the analysis: 1. Vulnerability Existed: no Variable Renaming [File] [Lines 17-18, 47] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); _assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); The changes simply rename the variable `offscreenCanvas` to `canvas` and update all references to it. There are no security implications in this change. The test continues to perform the same operations and assertions.
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/selectors/old-tests/css3-modsel-78b.xml+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/selectors/old-tests/css3-modsel-78b.xml@@ -10,7 +10,6 @@ <link rel="author" title="Daniel Glazman" href="http://glazman.org/"/> <link rel="author" title="Ian Hickson" href="mailto:[email protected]"/> <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"/> <!-- bogus link to make sure it gets found -->- <meta name="flags" content="" /> </head> <body> <div>
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/selectors/old-tests/css3-modsel-78b.xml [Lines] 10 [Old Code] <meta name="flags" content="" /> [Fixed Code] (line removed) Additional Notes: - The diff shows only the removal of an empty meta tag with a "flags" attribute, which doesn't appear to be security-related - This appears to be a test file cleanup rather than a security fix - No known vulnerabilities are associated with this change - The modification doesn't introduce any security risks or fix any apparent security issues
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-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/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-1.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 = '#0f0'; try { ctx.fillStyle = 'rgb(255, 0, 0 / 1)'; } catch (e) { } // this shouldn't throw, but it shouldn't matter here if it does ctx.fillRect(0, 0, 100, 50);-_assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255");+_assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); t.done(); });
Based on the provided diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming and don't involve any security-related modifications. Here's the analysis following your requested format: Vulnerability Existed: no No security vulnerability found [File] [Lines 13-14, 21] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixel(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixel(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255"); The changes simply rename the variable from `offscreenCanvas` to `canvas` and update the references accordingly. There are no security implications to 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/toolkit/components/glean/ipc/Support.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/toolkit/components/glean/ipc/Support.cpp@@ -7,9 +7,11 @@ // Some information just isn't available to Rust and must be made available over // FFI. #include "FOGIPC.h"+#include "mozilla/AppShutdown.h" #include "mozilla/ClearOnShutdown.h" #include "nsThreadUtils.h"+using mozilla::AppShutdown; using mozilla::RunOnShutdown; using mozilla::ShutdownPhase; using mozilla::glean::FlushFOGData;@@ -18,6 +20,10 @@ extern "C" { void FOG_RegisterContentChildShutdown() {+ if (AppShutdown::IsInOrBeyond(ShutdownPhase::AppShutdownConfirmed)) {+ return;+ }+ RunOnShutdown( [] { FlushFOGData([](ByteBuf&& aBuf) { SendFOGData(std::move(aBuf)); });
Here's the analysis of the provided code diff: Vulnerability Existed: yes Race Condition During Shutdown [File] [Lines 18-22] [Old Code] ```cpp void FOG_RegisterContentChildShutdown() { RunOnShutdown( [] { FlushFOGData([](ByteBuf&& aBuf) { SendFOGData(std::move(aBuf)); }); ``` [Fixed Code] ```cpp void FOG_RegisterContentChildShutdown() { if (AppShutdown::IsInOrBeyond(ShutdownPhase::AppShutdownConfirmed)) { return; } RunOnShutdown( [] { FlushFOGData([](ByteBuf&& aBuf) { SendFOGData(std::move(aBuf)); }); ``` The vulnerability is a potential race condition during shutdown where the shutdown handler could be registered too late (after shutdown has already begun), which could lead to undefined behavior or crashes. The fix adds a check to prevent registering shutdown handlers when the application is already shutting down or beyond the confirmed shutdown phase.
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/pin-project/CHANGELOG.md+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/pin-project/CHANGELOG.md@@ -4,13 +4,21 @@ This project adheres to [Semantic Versioning](https://semver.org).+<!--+NOTE: In this file, do not use the hard wrap in the middle of a sentence for compatibility with GitHub comment style markdown rendering.+-->+ ## [Unreleased]+## [0.4.29] - 2021-12-26++- [Fix compile error with `syn` 1.0.84 and later.](https://github.com/taiki-e/pin-project/pull/335)+ ## [0.4.28] - 2021-03-28 - [Fix `unused_must_use` warning on unused borrows, which will be added to rustc in the future.](https://github.com/taiki-e/pin-project/pull/322) See [#322](https://github.com/taiki-e/pin-project/pull/322) for more details.- (Note: 1.0 does not have this problem.)+ (NOTE: 1.0 does not have this problem.) ## [0.4.27] - 2020-10-11@@ -24,13 +32,13 @@ - [Suppress `drop_bounds` lint, which will be added to rustc in the future.](https://github.com/taiki-e/pin-project/pull/273) See [#272](https://github.com/taiki-e/pin-project/issues/272) for more details.- (Note: 1.0.0-alpha.1 already contains this change.)+ (NOTE: 1.0.0-alpha.1 already contains this change.) ## [0.4.24] - 2020-09-26 - [Fix compatibility of generated code with `forbid(future_incompatible)`.](https://github.com/taiki-e/pin-project/pull/282)- Note: This does not guarantee compatibility with `forbid(future_incompatible)` in the future.+ NOTE: This does not guarantee compatibility with `forbid(future_incompatible)` in the future. If rustc adds a new lint, we may not be able to keep this. ## [0.4.23] - 2020-07-27@@ -161,7 +169,7 @@ } ```- *[Note: This raises the minimum supported Rust version of this crate from Rust 1.33 to Rust 1.34.](https://github.com/taiki-e/pin-project/pull/219#pullrequestreview-408644187)*+ *[NOTE: This raises the minimum supported Rust version of this crate from Rust 1.33 to Rust 1.34.](https://github.com/taiki-e/pin-project/pull/219#pullrequestreview-408644187)* - [Fix an issue where duplicate `#[project]` attributes were ignored.](https://github.com/taiki-e/pin-project/pull/218)@@ -195,7 +203,7 @@ ## [0.4.11] - 2020-05-07-**Note: This release has been yanked.** See [#206](https://github.com/taiki-e/pin-project/issues/206) for details.+**NOTE:** This release has been yanked. See [#206](https://github.com/taiki-e/pin-project/issues/206) for details. - [Fix an issue that `#[project]` on non-statement expression does not work without unstable features.](https://github.com/taiki-e/pin-project/pull/197)@@ -249,7 +257,7 @@ ## [0.4.3] - 2019-10-15-**Note: This release has been yanked.** See [#148](https://github.com/taiki-e/pin-project/pull/148) for details.+**NOTE:** This release has been yanked. See [#148](https://github.com/taiki-e/pin-project/pull/148) for details. - [`#[pin_project]` can now interoperate with `#[cfg_attr()]`.](https://github.com/taiki-e/pin-project/pull/135)@@ -261,19 +269,19 @@ ## [0.4.2] - 2019-09-29-**Note: This release has been yanked.** See [#148](https://github.com/taiki-e/pin-project/pull/148) for details.+**NOTE:** This release has been yanked. See [#148](https://github.com/taiki-e/pin-project/pull/148) for details. - [Fix support for DSTs(Dynamically Sized Types).](https://github.com/taiki-e/pin-project/pull/113) ## [0.4.1] - 2019-09-26-**Note: This release has been yanked.** See [#148](https://github.com/taiki-e/pin-project/pull/148) for details.+**NOTE:** This release has been yanked. See [#148](https://github.com/taiki-e/pin-project/pull/148) for details. - [Fix an issue that caused an error when using `#[pin_project]` on a type that has `#[pin]` + `!Unpin` field with no generics or lifetime.](https://github.com/taiki-e/pin-project/pull/111) ## [0.4.0] - 2019-09-25-**Note: This release has been yanked.** See [#148](https://github.com/taiki-e/pin-project/pull/148) for details.+**NOTE:** This release has been yanked. See [#148](https://github.com/taiki-e/pin-project/pull/148) for details. - [**Pin projection has become a safe operation.**](https://github.com/taiki-e/pin-project/pull/18) In the absence of other unsafe code that you write, it is impossible to cause undefined behavior.@@ -402,7 +410,7 @@ - `Unpin` impls must be specified with an impl of `UnsafeUnpin`, instead of implementing the normal `Unpin` trait.-- Made `#[project]` attribute disabled by default.+- Make `#[project]` attribute disabled by default. See also [tracking issue for 0.4 release](https://github.com/taiki-e/pin-project/issues/21).@@ -416,7 +424,7 @@ ## [0.3.3] - 2019-07-15-**Note: This release has been yanked.** See [#16](https://github.com/taiki-e/pin-project/issues/16) for details.+**NOTE:** This release has been yanked. See [#16](https://github.com/taiki-e/pin-project/issues/16) for details. - Diagnostic improvements.@@ -490,11 +498,12 @@ ## [0.1.0] - 2019-01-08-**Note: This release has been yanked.**+**NOTE:** This release has been yanked. Initial release-[Unreleased]: https://github.com/taiki-e/pin-project/compare/v0.4.28...HEAD+[Unreleased]: https://github.com/taiki-e/pin-project/compare/v0.4.29...v0.4+[0.4.29]: https://github.com/taiki-e/pin-project/compare/v0.4.28...v0.4.29 [0.4.28]: https://github.com/taiki-e/pin-project/compare/v0.4.27...v0.4.28 [0.4.27]: https://github.com/taiki-e/pin-project/compare/v0.4.26...v0.4.27 [0.4.26]: https://github.com/taiki-e/pin-project/compare/v0.4.25...v0.4.26
After analyzing the provided code diff, I can identify the following changes: 1. Vulnerability Existed: no Documentation Update [File] third_party/rust/pin-project/CHANGELOG.md [Lines] Various [Old Code] Various "Note:" instances [Fixed Code] Changed to "NOTE:" for consistency 2. Vulnerability Existed: no Changelog Entry Addition [File] third_party/rust/pin-project/CHANGELOG.md [Lines] Added before "## [Unreleased]" [Old Code] No entry for version 0.4.29 [Fixed Code] Added entry for version 0.4.29 with fix for compile error with `syn` 1.0.84 3. Vulnerability Existed: no Markdown Formatting Note [File] third_party/rust/pin-project/CHANGELOG.md [Lines] Added at top [Old Code] No formatting note [Fixed Code] Added note about not using hard wrap in middle of sentence 4. Vulnerability Existed: no Link Update [File] third_party/rust/pin-project/CHANGELOG.md [Lines] Bottom of file [Old Code] [Unreleased] link compared to v0.4.28 [Fixed Code] [Unreleased] link now compares to v0.4.29 and added [0.4.29] link The changes appear to be primarily documentation updates, formatting improvements, and changelog maintenance. No security vulnerabilities are evident in this diff. The changes are focused on consistency, clarity, and maintaining accurate version history.
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/ryu/src/buffer/mod.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/ryu/src/buffer/mod.rs@@ -1,7 +1,4 @@ use crate::raw;-#[cfg(not(maybe_uninit))]-use core::mem;-#[cfg(maybe_uninit)] use core::mem::MaybeUninit; use core::{slice, str}; #[cfg(feature = "no-panic")]@@ -21,10 +18,7 @@ /// assert_eq!(printed, "1.234"); /// ``` pub struct Buffer {- #[cfg(maybe_uninit)] bytes: [MaybeUninit<u8>; 24],- #[cfg(not(maybe_uninit))]- bytes: [u8; 24], } impl Buffer {@@ -33,13 +27,7 @@ #[inline] #[cfg_attr(feature = "no-panic", no_panic)] pub fn new() -> Self {- // assume_init is safe here, since this is an array of MaybeUninit, which does not need- // to be initialized.- #[cfg(maybe_uninit)] let bytes = [MaybeUninit::<u8>::uninit(); 24];- #[cfg(not(maybe_uninit))]- let bytes = unsafe { mem::uninitialized() };- Buffer { bytes } }
Here's the analysis of the provided code diff for security fixes: 1. Vulnerability Existed: yes Uninitialized Memory Usage [File] third_party/rust/ryu/src/buffer/mod.rs [Lines] 33 [Old Code] ```rust let bytes = unsafe { mem::uninitialized() }; ``` [Fixed Code] ```rust let bytes = [MaybeUninit::<u8>::uninit(); 24]; ``` Additional Details: The old code used `mem::uninitialized()` which is unsafe and deprecated in Rust, as it can lead to undefined behavior. The fix replaces it with `MaybeUninit`, which is the proper way to handle uninitialized memory in Rust. 2. Vulnerability Existed: yes Conditional Compilation of Unsafe Code [File] third_party/rust/ryu/src/buffer/mod.rs [Lines] 1-7, 21-23 [Old Code] ```rust #[cfg(not(maybe_uninit))] use core::mem; #[cfg(maybe_uninit)] use core::mem::MaybeUninit; ... #[cfg(maybe_uninit)] bytes: [MaybeUninit<u8>; 24], #[cfg(not(maybe_uninit))] bytes: [u8; 24], ``` [Fixed Code] ```rust use core::mem::MaybeUninit; ... bytes: [MaybeUninit<u8>; 24], ``` Additional Details: The old code had conditional compilation paths where one path used unsafe `mem::uninitialized()`. This inconsistency could lead to security issues when compiled without the `maybe_uninit` flag. The fix standardizes on using `MaybeUninit` in all cases. The changes appear to be part of a broader effort to eliminate unsafe memory initialization patterns in Rust code, particularly replacing deprecated `mem::uninitialized()` usage with the safer `MaybeUninit` API.
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/hal/sandbox/SandboxHal.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/hal/sandbox/SandboxHal.cpp@@ -90,7 +90,7 @@ GetCurrentSerialEventTarget(), __func__, [=](const mozilla::MozPromise<bool, ipc::ResponseRejectReason, true>::ResolveOrRejectValue& aValue) {- if (aValue.IsResolve()) {+ if (aValue.IsResolve() && aValue.ResolveValue()) { return mozilla::MozPromise<bool, bool, false>::CreateAndResolve( true, __func__); }
Here's the analysis following your requested format: Vulnerability Existed: yes Insufficient Promise Resolution Check [hal/sandbox/SandboxHal.cpp] [Lines 90] Old Code: if (aValue.IsResolve()) { Fixed Code: if (aValue.IsResolve() && aValue.ResolveValue()) { Additional Details: The vulnerability appears to be related to insufficient validation of promise resolution values. The old code only checked if the promise was resolved (IsResolve()) but didn't verify the resolved value. The fixed code adds an additional check (aValue.ResolveValue()) to ensure the resolved value is also valid. This could potentially prevent security issues where code might proceed with execution based on a resolved promise that contained a false or invalid value. While there isn't a standard CVE name for this specific pattern, it could be categorized under "Insufficient Validation" or "Improper Promise Handling" vulnerabilities. The fix ensures proper validation of both the resolution state and the actual resolved value before proceeding.
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/mozbase/mozversion/tests/test_binary.py+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/mozbase/mozversion/tests/test_binary.py@@ -12,7 +12,7 @@ import mozunit import pytest-from moztest.selftest.fixtures import binary as real_binary # noqa: F401+from moztest.selftest.fixtures import binary_fixture # noqa: F401 from mozversion import errors, get_version@@ -20,8 +20,8 @@ """test getting application version information from a binary path"""[email protected](name="binary")-def fixure_binary(tmpdir):[email protected]()+def fake_binary(tmpdir): binary = tmpdir.join("binary") binary.write("foobar") return str(binary)@@ -57,46 +57,46 @@ return str(ini)-def test_real_binary(real_binary): # noqa: F811- if not real_binary:+def test_real_binary(binary): # noqa: F811+ if not binary: pytest.skip("No binary found")- v = get_version(real_binary)+ v = get_version(binary) assert isinstance(v, dict)-def test_binary(binary, application_ini, platform_ini):- _check_version(get_version(binary))+def test_binary(fake_binary, application_ini, platform_ini):+ _check_version(get_version(fake_binary)) @pytest.mark.skipif( not hasattr(os, "symlink"), reason="os.symlink not supported on this platform" )-def test_symlinked_binary(binary, application_ini, platform_ini, tmpdir):+def test_symlinked_binary(fake_binary, application_ini, platform_ini, tmpdir): # create a symlink of the binary in another directory and check # version against this symlink symlink = str(tmpdir.join("symlink"))- os.symlink(binary, symlink)+ os.symlink(fake_binary, symlink) _check_version(get_version(symlink))-def test_binary_in_current_path(binary, application_ini, platform_ini, tmpdir):+def test_binary_in_current_path(fake_binary, application_ini, platform_ini, tmpdir): os.chdir(str(tmpdir)) _check_version(get_version()) def test_with_ini_files_on_osx(- binary, application_ini, platform_ini, monkeypatch, tmpdir+ fake_binary, application_ini, platform_ini, monkeypatch, tmpdir ): monkeypatch.setattr(sys, "platform", "darwin") # get_version is working with ini files next to the binary- _check_version(get_version(binary=binary))+ _check_version(get_version(binary=fake_binary)) # or if they are in the Resources dir # in this case the binary must be in a Contents dir, next # to the Resources dir contents_dir = tmpdir.mkdir("Contents")- moved_binary = str(contents_dir.join(os.path.basename(binary)))- shutil.move(binary, moved_binary)+ moved_binary = str(contents_dir.join(os.path.basename(fake_binary)))+ shutil.move(fake_binary, moved_binary) resources_dir = str(tmpdir.mkdir("Resources")) shutil.move(application_ini, resources_dir)@@ -110,22 +110,22 @@ get_version(str(tmpdir.join("invalid")))-def test_without_ini_files(binary):+def test_without_ini_files(fake_binary): """With missing ini files an exception should be thrown""" with pytest.raises(errors.AppNotFoundError):- get_version(binary)+ get_version(fake_binary)-def test_without_platform_ini_file(binary, application_ini):+def test_without_platform_ini_file(fake_binary, application_ini): """With a missing platform.ini file an exception should be thrown""" with pytest.raises(errors.AppNotFoundError):- get_version(binary)+ get_version(fake_binary)-def test_without_application_ini_file(binary, platform_ini):+def test_without_application_ini_file(fake_binary, platform_ini): """With a missing application.ini file an exception should be thrown""" with pytest.raises(errors.AppNotFoundError):- get_version(binary)+ get_version(fake_binary) def test_with_exe(application_ini, platform_ini, tmpdir):@@ -135,9 +135,9 @@ _check_version(get_version(os.path.splitext(str(binary))[0]))-def test_not_found_with_binary_specified(binary):+def test_not_found_with_binary_specified(fake_binary): with pytest.raises(errors.LocalAppNotFoundError):- get_version(binary)+ get_version(fake_binary) def _check_version(version):
After analyzing the provided code diff, I don't find any security vulnerabilities being fixed. The changes appear to be primarily about renaming variables and fixtures for better clarity and consistency in the test code. Here's the analysis: 1. Vulnerability Existed: no No security vulnerability found. The changes are: - Renamed import from `binary` to `binary_fixture` - Renamed fixture function from `fixure_binary` to `fake_binary` - Updated all test functions to use the new fixture name `fake_binary` instead of `binary` 2. Vulnerability Existed: no No security vulnerability found. The changes are: - Updated test function names and parameters to match the renamed fixtures - Maintained the same test logic and assertions - No changes to security-related functionality The diff shows refactoring of test code for better naming consistency, but doesn't indicate any security fixes or vulnerability remediations. The test functionality remains the same, just with clearer naming conventions.
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/darling_core/src/options/from_variant.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/darling_core/src/options/from_variant.rs@@ -2,13 +2,16 @@ use quote::ToTokens; use syn::{DeriveInput, Field, Ident, Meta};-use codegen::FromVariantImpl;-use options::{DataShape, OuterFrom, ParseAttribute, ParseData};-use {FromMeta, Result};+use crate::codegen::FromVariantImpl;+use crate::options::{DataShape, OuterFrom, ParseAttribute, ParseData};+use crate::{FromMeta, Result}; #[derive(Debug, Clone, PartialEq, Eq)] pub struct FromVariantOptions { pub base: OuterFrom,+ /// The field on the deriving struct into which the discriminant expression+ /// should be placed by the derived `FromVariant` impl.+ pub discriminant: Option<Ident>, pub fields: Option<Ident>, pub supports: Option<DataShape>, }@@ -16,7 +19,8 @@ impl FromVariantOptions { pub fn new(di: &DeriveInput) -> Result<Self> { (FromVariantOptions {- base: OuterFrom::start(di),+ base: OuterFrom::start(di)?,+ discriminant: Default::default(), fields: Default::default(), supports: Default::default(), })@@ -30,6 +34,7 @@ FromVariantImpl { base: (&v.base.container).into(), ident: v.base.ident.as_ref(),+ discriminant: v.discriminant.as_ref(), fields: v.fields.as_ref(), attrs: v.base.attrs.as_ref(), attr_names: &v.base.attr_names,@@ -60,6 +65,10 @@ .as_ref() .map(|v| v.as_str()) {+ Some("discriminant") => {+ self.discriminant = field.ident.clone();+ Ok(())+ } Some("fields") => { self.fields = field.ident.clone(); Ok(())
Based on the provided code diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: not sure [Potential Path Traversal] [third_party/rust/darling_core/src/options/from_variant.rs] [Lines 2-4] [Old Code] use codegen::FromVariantImpl; use options::{DataShape, OuterFrom, ParseAttribute, ParseData}; use {FromMeta, Result}; [Fixed Code] use crate::codegen::FromVariantImpl; use crate::options::{DataShape, OuterFrom, ParseAttribute, ParseData}; use crate::{FromMeta, Result}; Additional Details: The change from relative imports to absolute crate-relative imports could potentially prevent path traversal issues if the previous relative paths could be manipulated, though this is speculative. 2. Vulnerability Existed: not sure [Potential Uninitialized Memory] [third_party/rust/darling_core/src/options/from_variant.rs] [Lines 16-20] [Old Code] base: OuterFrom::start(di), [Fixed Code] base: OuterFrom::start(di)?, discriminant: Default::default(), Additional Details: The addition of error handling (?) and explicit default initialization could potentially prevent uninitialized memory issues, though Rust's safety features generally prevent this. 3. Vulnerability Existed: no [Feature Addition] [third_party/rust/darling_core/src/options/from_variant.rs] [Lines 8-10, 65-68] [Old Code] pub struct FromVariantOptions { pub base: OuterFrom, [Fixed Code] pub struct FromVariantOptions { pub base: OuterFrom, /// The field on the deriving struct into which the discriminant expression /// should be placed by the derived `FromVariant` impl. pub discriminant: Option<Ident>, Additional Details: This appears to be a feature addition (adding discriminant support) rather than a security fix. The changes appear to be primarily feature additions and code quality improvements rather than direct security fixes. The Rust compiler's safety features would likely prevent most serious vulnerabilities in this context.
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/ReadableStreamBYOBRequest.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/streams/ReadableStreamBYOBRequest.cpp@@ -21,7 +21,25 @@ namespace mozilla { namespace dom {-NS_IMPL_CYCLE_COLLECTION(ReadableStreamBYOBRequest)+ReadableStreamBYOBRequest::ReadableStreamBYOBRequest(nsIGlobalObject* aGlobal)+ : mGlobal(aGlobal) {+ mozilla::HoldJSObjects(this);+}++ReadableStreamBYOBRequest::~ReadableStreamBYOBRequest() {+ mozilla::DropJSObjects(this);+}++NS_IMPL_CYCLE_COLLECTION_CLASS(ReadableStreamBYOBRequest)+NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ReadableStreamBYOBRequest)+ NS_IMPL_CYCLE_COLLECTION_UNLINK(mGlobal, mController)+ tmp->mView = nullptr;+ NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER+NS_IMPL_CYCLE_COLLECTION_UNLINK_END+NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(ReadableStreamBYOBRequest)+ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mGlobal, mController)+NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END+ NS_IMPL_CYCLE_COLLECTING_ADDREF(ReadableStreamBYOBRequest) NS_IMPL_CYCLE_COLLECTING_RELEASE(ReadableStreamBYOBRequest)@@ -113,5 +131,10 @@ aRv); }+void ReadableStreamBYOBRequest::SetController(+ ReadableByteStreamController* aController) {+ mController = aController;+}+ } // namespace dom } // namespace mozilla
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure Memory Management Improvement [File] [Lines 21-29] [Old Code] `NS_IMPL_CYCLE_COLLECTION(ReadableStreamBYOBRequest)` [Fixed Code] Constructor/destructor with JS object management and detailed cycle collection implementation 2. Vulnerability Existed: not sure Potential Memory Leak Fix [File] [Lines 21-29] [Old Code] Simple cycle collection macro [Fixed Code] Explicit cycle collection implementation with proper unlinking of mView and preserved wrapper 3. Vulnerability Existed: not sure Missing Controller Management [File] [Lines 113-131] [Old Code] No controller setter method [Fixed Code] Added `SetController` method to properly manage controller reference Note: While the changes clearly improve memory management and object lifecycle handling, I can't definitively identify specific vulnerabilities without more context about how this code was being used or what issues were reported. The changes appear to be proactive improvements rather than fixes for known vulnerabilities.
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/box-shadow-table-border-collapse-001.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-backgrounds/box-shadow-table-border-collapse-001.html@@ -22,7 +22,6 @@ -->- <meta content="" name="flags"> <meta content="This test checks that 'box-shadow' applies to table element with 'border-collapse' set to 'collapse' as long as row borders do not have different border thicknesses. In this test, the left border of both table rows have the same thickness (30px) and the right border of both table rows have the same thickness (30px)." name="assert"> <style>
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability [testing/web-platform/tests/css/css-backgrounds/box-shadow-table-border-collapse-001.html] [Line 22] Old Code: `<meta content="" name="flags">` Fixed Code: (removed line) Additional Details: The diff shows removal of an empty meta tag with name="flags". This appears to be a cleanup change rather than a security fix. There's no indication of a security vulnerability being addressed here - it's likely just removing unused or unnecessary markup from the test file. No known vulnerability is associated with empty meta tags in this context.
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/jpeg-xl/lib/jxl/codec_in_out.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/jpeg-xl/lib/jxl/codec_in_out.h@@ -69,11 +69,6 @@ PaddedBytes xmp; };-// For Codec::kJPG, convert between JPEG and pixels or between JPEG and-// quantized DCT coefficients-// For pixel data, the nominal range is 0..1.-enum class DecodeTarget { kPixels, kQuantizedCoeffs };- // Holds a preview, a main image or one or more frames, plus the inputs/outputs // to/from decoding/encoding. class CodecInOut {@@ -135,13 +130,13 @@ } // Calls TransformTo for each ImageBundle (preview/frames).- Status TransformTo(const ColorEncoding& c_desired,+ Status TransformTo(const ColorEncoding& c_desired, const JxlCmsInterface& cms, ThreadPool* pool = nullptr) { if (metadata.m.have_preview) {- JXL_RETURN_IF_ERROR(preview_frame.TransformTo(c_desired, pool));+ JXL_RETURN_IF_ERROR(preview_frame.TransformTo(c_desired, cms, pool)); } for (ImageBundle& ib : frames) {- JXL_RETURN_IF_ERROR(ib.TransformTo(c_desired, pool));+ JXL_RETURN_IF_ERROR(ib.TransformTo(c_desired, cms, pool)); } return true; }@@ -162,27 +157,6 @@ // -- DECODER INPUT: SizeConstraints constraints;- // Decode to pixels or keep JPEG as quantized DCT coefficients- DecodeTarget dec_target = DecodeTarget::kPixels;-- // Intended white luminance, in nits (cd/m^2).- // It is used by codecs that do not know the absolute luminance of their- // images. For those codecs, decoders map from white to this luminance. There- // is no other way of knowing the target brightness for those codecs - depends- // on source material. 709 typically targets 100 nits, BT.2100 PQ up to 10K,- // but HDR content is more typically mastered to 4K nits. Codecs that do know- // the absolute luminance of their images will typically ignore it as a- // decoder input. The corresponding decoder output and encoder input is the- // intensity target in the metadata. ALL decoders MUST set that metadata- // appropriately, but it does not have to be identical to this hint. Encoders- // for codecs that do not encode absolute luminance levels should use that- // metadata to decide on what to map to white. Encoders for codecs that *do*- // encode absolute luminance levels may use it to decide on encoding values,- // but not in a way that would affect the range of interpreted luminance.- //- // 0 means that it is up to the codec to decide on a reasonable value to use.-- float target_nits = 0; // -- DECODER OUTPUT:
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: not sure [Removed DecodeTarget enum and related fields] [third_party/jpeg-xl/lib/jxl/codec_in_out.h] [Lines 69-73, 162-179] [Old Code] ```cpp // For Codec::kJPG, convert between JPEG and pixels or between JPEG and // quantized DCT coefficients // For pixel data, the nominal range is 0..1. enum class DecodeTarget { kPixels, kQuantizedCoeffs }; ... // Decode to pixels or keep JPEG as quantized DCT coefficients DecodeTarget dec_target = DecodeTarget::kPixels; ... float target_nits = 0; ``` [Fixed Code] ```cpp // (removed entirely) ``` Additional Details: The removal of the DecodeTarget enum and related fields might indicate a security concern, but without more context, it's unclear if this was a security fix or just a refactoring. The removal of the target_nits field could potentially relate to color management security issues, but this is speculative. 2. Vulnerability Existed: yes [Missing CMS Interface Parameter] [third_party/jpeg-xl/lib/jxl/codec_in_out.h] [Lines 135-143] [Old Code] ```cpp Status TransformTo(const ColorEncoding& c_desired, ThreadPool* pool = nullptr) { if (metadata.m.have_preview) { JXL_RETURN_IF_ERROR(preview_frame.TransformTo(c_desired, pool)); } for (ImageBundle& ib : frames) { JXL_RETURN_IF_ERROR(ib.TransformTo(c_desired, pool)); } ``` [Fixed Code] ```cpp Status TransformTo(const ColorEncoding& c_desired, const JxlCmsInterface& cms, ThreadPool* pool = nullptr) { if (metadata.m.have_preview) { JXL_RETURN_IF_ERROR(preview_frame.TransformTo(c_desired, cms, pool)); } for (ImageBundle& ib : frames) { JXL_RETURN_IF_ERROR(ib.TransformTo(c_desired, cms, pool)); } ``` Additional Details: The addition of the JxlCmsInterface parameter suggests a fix for potential color management system (CMS) related vulnerabilities. Missing proper CMS handling could lead to color conversion issues or potentially memory safety issues during image processing. This appears to be a security hardening 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/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.baseline.valid.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.baseline.valid.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.textBaseline = 'top'; _assertSame(ctx.textBaseline, 'top', "ctx.textBaseline", "'top'");
After analyzing the provided code diff, I don't find any security vulnerabilities. The changes appear to be purely cosmetic/refactoring changes (variable renaming) rather than security fixes. Answer for Each Vulnerability: Vulnerability Existed: no No security vulnerability found in this diff. The changes are variable name refactoring from 'offscreenCanvas' to 'canvas'. Additional Details: - The changes only involve renaming a variable from 'offscreenCanvas' to 'canvas' - The functionality remains exactly the same - No security-related patterns or vulnerable code were modified - This appears to be a code style/readability 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/the-offscreen-canvas/context.unrecognised.badname.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/the-offscreen-canvas/context.unrecognised.badname.worker.js@@ -13,8 +13,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); var offscreenCanvas2 = new OffscreenCanvas(100, 50); assert_throws_js(TypeError, function() { offscreenCanvas2.getContext('This is not an implemented context in any real browser'); });
Based on the provided diff, here's the analysis: 1. Vulnerability Existed: no No security vulnerability found [File] testing/web-platform/tests/html/canvas/offscreen/the-offscreen-canvas/context.unrecognised.badname.worker.js [Lines] 13-16 [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); The changes appear to be purely cosmetic/refactoring, simply renaming a variable from `offscreenCanvas` to `canvas`. There's no indication of any security vulnerability being fixed in this change. The test's purpose (checking behavior with unrecognized context names) remains the same, and the security check (assert_throws_js for invalid context) is unchanged.
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.