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/parser/htmlparser/nsExpatDriver.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/parser/htmlparser/nsExpatDriver.cpp@@ -4,6 +4,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsExpatDriver.h"+#include "mozilla/fallible.h" #include "nsCOMPtr.h" #include "nsParserCIID.h" #include "CParserContext.h"@@ -15,6 +16,7 @@ #include "nsIUnicharInputStream.h" #include "nsIProtocolHandler.h" #include "nsNetUtil.h"+#include "nsString.h" #include "nsTextFormatter.h" #include "nsDirectoryServiceDefs.h" #include "nsCRT.h"@@ -28,6 +30,8 @@ #include "nsXPCOMCIDInternal.h" #include "nsUnicharInputStream.h" #include "nsContentUtils.h"+#include "mozilla/Array.h"+#include "mozilla/ArrayUtils.h" #include "mozilla/BasePrincipal.h" #include "mozilla/IntegerTypeTraits.h" #include "mozilla/NullPrincipal.h"@@ -44,6 +48,7 @@ using mozilla::fallible; using mozilla::LogLevel; using mozilla::MakeStringSpan;+using mozilla::Unused; using mozilla::dom::Document; // We only pass chunks of length sMaxChunkLength to Expat in the RLBOX sandbox.@@ -380,6 +385,7 @@ } } mSandboxPoolData.reset();+ mURIs.Clear(); mExpatParser = nullptr; }@@ -767,11 +773,14 @@ mInternalSubset.Append(char16_t(';')); }+ nsCOMPtr<nsIURI> baseURI = GetBaseURI(base);+ NS_ENSURE_TRUE(baseURI, 1);+ // Load the external entity into a buffer. nsCOMPtr<nsIInputStream> in;- nsAutoString absURL;- nsresult rv = OpenInputStreamFromExternalDTD(publicId, systemId, base,- getter_AddRefs(in), absURL);+ nsCOMPtr<nsIURI> absURI;+ nsresult rv = OpenInputStreamFromExternalDTD(+ publicId, systemId, baseURI, getter_AddRefs(in), getter_AddRefs(absURI)); if (NS_FAILED(rv)) { #ifdef DEBUG nsCString message("Failed to open external DTD: publicId \"");@@ -779,9 +788,11 @@ message += "\" systemId \""; AppendUTF16toUTF8(MakeStringSpan(systemId), message); message += "\" base \"";- AppendUTF16toUTF8(MakeStringSpan(base), message);+ message.Append(baseURI->GetSpecOrDefault()); message += "\" URL \"";- AppendUTF16toUTF8(absURL, message);+ if (absURI) {+ message.Append(absURI->GetSpecOrDefault());+ } message += "\""; NS_WARNING(message.get()); #endif@@ -801,8 +812,9 @@ entParser = RLBOX_EXPAT_MCALL(MOZ_XML_ExternalEntityParserCreate, nullptr, *utf16); if (entParser) {- auto url = TransferBuffer<XML_Char>(Sandbox(), (XML_Char*)absURL.get(),- absURL.Length() + 1);+ auto baseURI = GetExpatBaseURI(absURI);+ auto url = TransferBuffer<XML_Char>(Sandbox(), &baseURI[0],+ ArrayLength(baseURI)); NS_ENSURE_TRUE(*url, 1); Sandbox()->invoke_sandbox_function(MOZ_XML_SetBase, entParser, *url);@@ -835,17 +847,12 @@ nsresult nsExpatDriver::OpenInputStreamFromExternalDTD(const char16_t* aFPIStr, const char16_t* aURLStr,- const char16_t* aBaseURL,+ nsIURI* aBaseURI, nsIInputStream** aStream,- nsAString& aAbsURL) {- nsCOMPtr<nsIURI> baseURI;- nsresult rv =- NS_NewURI(getter_AddRefs(baseURI), NS_ConvertUTF16toUTF8(aBaseURL));- NS_ENSURE_SUCCESS(rv, rv);-+ nsIURI** aAbsURI) { nsCOMPtr<nsIURI> uri;- rv = NS_NewURI(getter_AddRefs(uri), NS_ConvertUTF16toUTF8(aURLStr), nullptr,- baseURI);+ nsresult rv = NS_NewURI(getter_AddRefs(uri), NS_ConvertUTF16toUTF8(aURLStr),+ nullptr, aBaseURI); // Even if the URI is malformed (most likely because we have a // non-hierarchical base URI and a relative DTD URI, with the latter // being the normal XHTML DTD case), we can try to see whether we@@ -917,10 +924,7 @@ } }- nsAutoCString absURL;- rv = uri->GetSpec(absURL);- NS_ENSURE_SUCCESS(rv, rv);- CopyUTF8toUTF16(absURL, aAbsURL);+ uri.forget(aAbsURI); channel->SetContentType("application/xml"_ns); return channel->Open(aStream);@@ -1040,12 +1044,18 @@ 1; uint32_t lineNumber = RLBOX_EXPAT_SAFE_MCALL(MOZ_XML_GetCurrentLineNumber, safe_unverified<XML_Size>);-+ const XML_Char* expatBase =+ RLBOX_EXPAT_MCALL(MOZ_XML_GetBase)+ .copy_and_verify_address(unverified_xml_string);+ nsAutoString uri;+ nsCOMPtr<nsIURI> baseURI;+ if (expatBase && (baseURI = GetBaseURI(expatBase))) {+ // Let's ignore if this fails, we're already reporting a parse error.+ Unused << CopyUTF8toUTF16(baseURI->GetSpecOrDefault(), uri, fallible);+ } nsAutoString errorText;- const auto* aBase = RLBOX_EXPAT_MCALL(MOZ_XML_GetBase)- .copy_and_verify_address(unverified_xml_string);- CreateErrorText(description.get(), aBase, lineNumber, colNumber, errorText,- spoofEnglish);+ CreateErrorText(description.get(), uri.get(), lineNumber, colNumber,+ errorText, spoofEnglish); nsAutoString sourceText(mLastLine); AppendErrorPointer(colNumber, mLastLine.get(), sourceText);@@ -1087,9 +1097,9 @@ nsCOMPtr<nsIScriptError> serr(do_CreateInstance(NS_SCRIPTERROR_CONTRACTID)); nsresult rv = NS_ERROR_FAILURE; if (serr) {- rv = serr->InitWithWindowID(errorText, mURISpec, mLastLine, lineNumber,- colNumber, nsIScriptError::errorFlag,- "malformed-xml", mInnerWindowID);+ rv = serr->InitWithSourceURI(+ errorText, mURIs.SafeElementAt(0), mLastLine, lineNumber, colNumber,+ nsIScriptError::errorFlag, "malformed-xml", mInnerWindowID); } // If it didn't initialize, we can't do any logging.@@ -1528,17 +1538,12 @@ } }- mURISpec = aParserContext.mScanner->GetFilename();- // Create sandbox //- // We have to copy the base URI into the sandbox, and it can be arbitrarily- // long (e.g. data URIs). So make sure the sandbox is large enough. We- // unscientifically request the URI size plus two MB. Note that the parsing- // itself is chunked so as not to require a large sandbox.- uint64_t minSandboxSize =- mURISpec.Length() * sizeof(decltype(mURISpec)::char_type) +- (2 * 1024 * 1024);+ // We have to make sure the sandbox is large enough. We unscientifically+ // request two MB. Note that the parsing itself is chunked so as not to+ // require a large sandbox.+ static const uint64_t minSandboxSize = 2 * 1024 * 1024; MOZ_ASSERT(!mSandboxPoolData); mSandboxPoolData = RLBoxExpatSandboxPool::sSingleton->PopOrCreate(minSandboxSize);@@ -1571,9 +1576,9 @@ XML_PARAM_ENTITY_PARSING_ALWAYS); #endif- const XML_Char* uriStr = mURISpec.get();- auto uri = TransferBuffer<XML_Char>(Sandbox(), uriStr, mURISpec.Length() + 1);- MOZ_RELEASE_ASSERT(*uri, "Sized sandbox for URI");+ auto baseURI = GetExpatBaseURI(aParserContext.mScanner->GetURI());+ auto uri =+ TransferBuffer<XML_Char>(Sandbox(), &baseURI[0], ArrayLength(baseURI)); RLBOX_EXPAT_MCALL(MOZ_XML_SetBase, *uri); // Set up the callbacks@@ -1685,6 +1690,27 @@ } }+nsExpatDriver::ExpatBaseURI nsExpatDriver::GetExpatBaseURI(nsIURI* aURI) {+ mURIs.AppendElement(aURI);++ MOZ_RELEASE_ASSERT(mURIs.Length() <= std::numeric_limits<XML_Char>::max());++ return ExpatBaseURI(static_cast<XML_Char>(mURIs.Length()), XML_T('\0'));+}++nsIURI* nsExpatDriver::GetBaseURI(const XML_Char* aBase) const {+ MOZ_ASSERT(aBase[0] != '\0' && aBase[1] == '\0');++ if (aBase[0] == '\0' || aBase[1] != '\0') {+ return nullptr;+ }++ uint32_t index = aBase[0] - 1;+ MOZ_ASSERT(index < mURIs.Length());++ return mURIs.SafeElementAt(index);+}+ inline RLBoxExpatSandboxData* nsExpatDriver::SandboxData() const { return reinterpret_cast<RLBoxExpatSandboxData*>( mSandboxPoolData->SandboxData());
After analyzing the code diff, I've identified the following security-related changes: 1. Vulnerability Existed: yes [XML External Entity (XXE) Injection] [parser/htmlparser/nsExpatDriver.cpp] [Lines 767-835, 847-1040] [Old Code] - Used raw string handling for URIs - Directly passed URI strings between components - No proper URI validation before processing [Fixed Code] - Uses nsIURI objects consistently - Implements proper URI handling with GetBaseURI/GetExpatBaseURI methods - Maintains URI references in mURIs array - Adds validation checks for URI indices 2. Vulnerability Existed: yes [Memory Safety Issues] [parser/htmlparser/nsExpatDriver.cpp] [Lines 380, 1528-1576] [Old Code] - Stored URI as string (mURISpec) - Calculated sandbox size based on URI length [Fixed Code] - Uses fixed sandbox size (2MB) - Clears mURIs array in destructor - Removes mURISpec dependency 3. Vulnerability Existed: not sure [Potential Information Leak] [parser/htmlparser/nsExpatDriver.cpp] [Lines 1040-1087] [Old Code] - Directly used potentially unverified strings from expat [Fixed Code] - Adds verification steps for expat strings - Uses safer string handling with fallible operations The main security improvements appear to be: 1. Better handling of URIs to prevent XXE attacks 2. More robust memory management 3. Safer string handling and verification The changes move from direct string manipulation to using proper URI objects and safer memory management patterns, which should significantly reduce attack surfaces for XXE and memory corruption 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/third_party/jpeg-xl/lib/jxl/jpeg/enc_jpeg_data.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/jpeg-xl/lib/jxl/jpeg/enc_jpeg_data.h@@ -21,7 +21,8 @@ * Decodes bytes containing JPEG codestream into a CodecInOut as coefficients * only, for lossless JPEG transcoding. */-Status DecodeImageJPG(const Span<const uint8_t> bytes, CodecInOut* io);+Status DecodeImageJPG(Span<const uint8_t> bytes, CodecInOut* io);+ } // namespace jpeg } // namespace jxl
Analyzing the provided code diff, here's the security assessment: 1. Vulnerability Existed: not sure [Potential API Parameter Passing Issue] [third_party/jpeg-xl/lib/jxl/jpeg/enc_jpeg_data.h] [Lines 21] [Old Code] `Status DecodeImageJPG(const Span<const uint8_t> bytes, CodecInOut* io);` [Fixed Code] `Status DecodeImageJPG(Span<const uint8_t> bytes, CodecInOut* io);` Additional Details: The change removes the `const` qualifier from the Span parameter. While this might suggest a potential modification to the Span object's behavior, it's unclear if this was fixing a security vulnerability or just a style/API consistency change. The Span template typically provides read-only access to its data when using `const uint8_t`, so the security impact is uncertain.
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/resources/testdriver.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/resources/testdriver.js@@ -506,7 +506,7 @@ /** * Removes all the credentials stored in a virtual authenticator *- * Matches the `Remoce All Credentials+ * Matches the `Remove All Credentials * <https://w3c.github.io/webauthn/#sctn-automation-remove-all-credentials>`_ * WebDriver command. *
Based on the provided code diff, here's the analysis: Vulnerability Existed: no [Typo Fix] [testing/web-platform/tests/resources/testdriver.js] [Lines 506] [Old Code] * Matches the `Remoce All Credentials [Fixed Code] * Matches the `Remove All Credentials Additional Details: - This appears to be a simple typo correction ("Remoce" to "Remove") in a comment/documentation string - No actual code logic was changed, only a documentation string - No security vulnerability was addressed in this change - The change improves documentation accuracy but doesn't affect functionality or security
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.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.draw.align.end.rtl.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 f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts);@@ -32,12 +32,12 @@ ctx.fillStyle = '#0f0'; ctx.textAlign = 'end'; ctx.fillText('DD', 0, 37.5);- _assertPixelApprox(offscreenCanvas, 5,5, 0,255,0,255, "5,5", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 95,5, 0,255,0,255, "95,5", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 5,45, 0,255,0,255, "5,45", "0,255,0,255", 2);- _assertPixelApprox(offscreenCanvas, 95,45, 0,255,0,255, "95,45", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 5,5, 0,255,0,255, "5,5", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 95,5, 0,255,0,255, "95,5", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 5,45, 0,255,0,255, "5,45", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 95,45, 0,255,0,255, "95,45", "0,255,0,255", 2); }).then(t_pass, t_fail); });
After analyzing the provided code diff, I don't find any security vulnerabilities. The changes appear to be purely cosmetic/refactoring changes where a variable name was changed from `offscreenCanvas` to `canvas` and all subsequent references were updated accordingly. Here's the structured response: Vulnerability Existed: no No security vulnerability found in the diff. This appears to be a variable renaming refactoring change. The changes are: 1. Variable renaming from `offscreenCanvas` to `canvas` in lines 17-18 2. Updated all references to the renamed variable in lines 32-37 Old Code: ```javascript var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixelApprox(offscreenCanvas, 5,5, 0,255,0,255, "5,5", "0,255,0,255", 2); ``` Fixed Code: ```javascript var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixelApprox(canvas, 5,5, 0,255,0,255, "5,5", "0,255,0,255", 2); ``` No security implications were identified in this change.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/services/fxaccounts/tests/xpcshell/test_commands.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/services/fxaccounts/tests/xpcshell/test_commands.js@@ -575,3 +575,149 @@ Assert.equal(accountState.data.device.lastCommandIndex, 12); } );++add_task(async function test_send_tab_keys_regenerated_if_lost() {+ const commands = {+ _invokes: [],+ invoke(cmd, device, payload) {+ this._invokes.push({ cmd, device, payload });+ },+ };++ // Local state.+ const accountState = {+ data: {+ // Since the device object has no+ // sendTabKeys, when we _decrypt,+ // we will attempt to regenerate the+ // keys.+ device: {+ lastCommandIndex: 10,+ },+ encryptedSendTabKeys: "keys",+ },+ getUserAccountData() {+ return this.data;+ },+ updateUserAccountData(data) {+ this.data = data;+ },+ };++ const fxAccounts = {+ async withCurrentAccountState(cb) {+ await cb(accountState);+ },+ async getUserAccountData(data) {+ return accountState.getUserAccountData(data);+ },+ telemetry: new TelemetryMock(),+ };++ const sendTab = new SendTab(commands, fxAccounts);+ sendTab._encrypt = (bytes, device) => {+ return bytes;+ };+ let generateEncryptedKeysCalled = false;+ sendTab._generateAndPersistEncryptedSendTabKey = async () => {+ generateEncryptedKeysCalled = true;+ };+ sendTab._fxai = fxAccounts;+ const tab = { title: "tab title", url: "http://example.com" };+ const to = [{ id: "devid", name: "The Device" }];+ const reason = "push";++ await sendTab.send(to, tab);+ Assert.equal(commands._invokes.length, 1);++ for (let { cmd, device, payload } of commands._invokes) {+ Assert.equal(cmd, COMMAND_SENDTAB);+ sendTab._fxai = fxAccounts;+ try {+ await sendTab.handle(device.id, payload, reason);+ } catch {+ // The `handle` function will throw an error+ // since we are not mocking the `_decrypt`+ // function. This is intentional, since+ // we want to capture that `_decrypt` will+ // call `_generateEncryptedSendTabKeys` if+ // it fails to retrieve the keys.+ // Receiving a send tab is covered+ // in the above test_sendtab_receive test.+ }+ }+ Assert.ok(generateEncryptedKeysCalled);+});++add_task(async function test_send_tab_keys_are_not_regenerated_if_not_lost() {+ const commands = {+ _invokes: [],+ invoke(cmd, device, payload) {+ this._invokes.push({ cmd, device, payload });+ },+ };++ // Local state.+ const accountState = {+ data: {+ // Since the device object has+ // sendTabKeys, when we _decrypt,+ // we will not try to regenerate them+ device: {+ lastCommandIndex: 10,+ sendTabKeys: "keys",+ },+ encryptedSendTabKeys: "encrypted-keys",+ },+ getUserAccountData() {+ return this.data;+ },+ updateUserAccountData(data) {+ this.data = data;+ },+ };++ const fxAccounts = {+ async withCurrentAccountState(cb) {+ await cb(accountState);+ },+ async getUserAccountData(data) {+ return accountState.getUserAccountData(data);+ },+ telemetry: new TelemetryMock(),+ };++ const sendTab = new SendTab(commands, fxAccounts);+ sendTab._encrypt = (bytes, device) => {+ return bytes;+ };+ let generateEncryptedKeysCalled = false;+ sendTab._generateAndPersistEncryptedSendTabKey = async () => {+ generateEncryptedKeysCalled = true;+ };+ sendTab._fxai = fxAccounts;+ const tab = { title: "tab title", url: "http://example.com" };+ const to = [{ id: "devid", name: "The Device" }];+ const reason = "push";++ await sendTab.send(to, tab);+ Assert.equal(commands._invokes.length, 1);++ for (let { cmd, device, payload } of commands._invokes) {+ Assert.equal(cmd, COMMAND_SENDTAB);+ sendTab._fxai = fxAccounts;+ try {+ await sendTab.handle(device.id, payload, reason);+ } catch {+ // The `handle` function will throw an error+ // since we are not mocking the `_decrypt`+ // function. This is intentional, since+ // we want to capture that `_decrypt` will+ // not call `_generateEncryptedSendTabKeys` if+ // it succeeds to retrieve the keys.+ // Receiving a send tab is covered+ // in the above test_sendtab_receive test.+ }+ }+ Assert.ok(!generateEncryptedKeysCalled);+});
After analyzing the provided code diff, I don't find any clear security vulnerabilities being fixed. The changes appear to be adding new test cases for SendTab functionality, specifically testing key regeneration scenarios. Here's my analysis: 1. Vulnerability Existed: no No security vulnerability found [File] services/fxaccounts/tests/xpcshell/test_commands.js [Lines] 575-724 [Old Code] (No previous test cases for key regeneration scenarios) [Fixed Code] (Added test cases for key regeneration behavior) The diff shows the addition of two new test cases: 1. `test_send_tab_keys_regenerated_if_lost` - tests that keys are regenerated when missing 2. `test_send_tab_keys_are_not_regenerated_if_not_lost` - tests that keys aren't regenerated when present These appear to be test coverage improvements rather than security fixes. The tests verify the behavior of encryption key handling in the SendTab feature, but don't indicate any vulnerability fixes. If there was a security issue being addressed, it would likely be in the implementation code rather than these test cases. The tests themselves don't show any security problems in their mock implementations.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/layout/generic/nsTextFrameUtils.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/layout/generic/nsTextFrameUtils.h@@ -146,7 +146,9 @@ } static uint32_t ComputeApproximateLengthWithWhitespaceCompression(- mozilla::dom::Text* aText, const nsStyleText* aStyleText);+ mozilla::dom::Text*, const nsStyleText*);+ static uint32_t ComputeApproximateLengthWithWhitespaceCompression(+ const nsAString&, const nsStyleText*); }; MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(nsTextFrameUtils::Flags)
Let me analyze the diff for potential security fixes: 1. Vulnerability Existed: not sure [Potential API Security Improvement] [layout/generic/nsTextFrameUtils.h] [Lines 146-148] [Old Code] static uint32_t ComputeApproximateLengthWithWhitespaceCompression( mozilla::dom::Text* aText, const nsStyleText* aStyleText); [Fixed Code] static uint32_t ComputeApproximateLengthWithWhitespaceCompression( mozilla::dom::Text*, const nsStyleText*); static uint32_t ComputeApproximateLengthWithWhitespaceCompression( const nsAString&, const nsStyleText*); Additional Details: - The diff shows two changes: parameter names were removed in the first declaration (which is typically done for header files when names aren't needed) - A new overload was added that takes const nsAString& instead of mozilla::dom::Text* - While this doesn't appear to fix a specific named vulnerability, it could be related to defense in depth or API hardening - The change might help prevent potential null pointer dereferences by providing an alternative API that doesn't require a Text object - Without more context about how these functions are used, it's hard to determine if this fixes a specific security issue
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.transform.3.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.radial.transform.3.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 g = ctx.createRadialGradient(0, 0, 0, 0, 0, 11.2); g.addColorStop(0, '#0f0');@@ -30,9 +30,9 @@ ctx.translate(50, 25); ctx.scale(10, 10); ctx.fillRect(-5, -2.5, 10, 5);-_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(); });
Based on the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely variable renaming (from `offscreenCanvas` to `canvas`) and corresponding updates to function calls. Here's the analysis: Vulnerability Existed: no No security vulnerability found [File] [Lines 17-30] [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixel(offscreenCanvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixel(canvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255"); The changes are purely refactoring/renaming with no security implications. The functionality remains exactly the same, just using a different variable name.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-conditional/at-supports-013.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-conditional/at-supports-013.html@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html">- <meta name="flags" content=""> <style> div { background-color:red;
Based on the provided code diff, here's the analysis: Vulnerability Existed: no [No specific vulnerability] [testing/web-platform/tests/css/css-conditional/at-supports-013.html] [Lines 6-7] [Old Code] <meta name="flags" content=""> [Fixed Code] [Line removed] Additional Details: - The change simply removes an empty meta tag with a "flags" attribute - This appears to be a test file cleanup rather than a security fix - No actual vulnerability is being addressed here - The change doesn't affect any security-related functionality
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-conditional/at-supports-005.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-conditional/at-supports-005.html@@ -6,7 +6,6 @@ <link rel="author" href="http://opera.com" title="Opera Software ASA"> <link rel="help" href="http://www.w3.org/TR/css3-conditional/#at-supports"> <link rel="match" href="at-supports-001-ref.html">- <meta name="flags" content=""> <style> div { background-color:red;
Analyzing the provided code diff, here's the security analysis: Vulnerability Existed: no [No specific vulnerability] [testing/web-platform/tests/css/css-conditional/at-supports-005.html] [Lines 6] [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. There's no evidence of any security vulnerability being fixed here - this appears to be a minor cleanup change. 3. The "flags" meta tag doesn't appear to be related to any known security vulnerabilities in HTML/CSS. No other vulnerabilities are apparent in this small diff. The change seems to be removing unnecessary markup rather than addressing any 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/accessible/basetypes/Accessible.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/accessible/basetypes/Accessible.h@@ -10,6 +10,7 @@ #include "mozilla/a11y/AccTypes.h" #include "nsString.h" #include "nsRect.h"+#include "Units.h" class nsAtom;@@ -157,7 +158,10 @@ virtual double MaxValue() const = 0; virtual double Step() const = 0;- virtual nsIntRect Bounds() const = 0;+ /**+ * Return boundaries in screen coordinates in device pixels.+ */+ virtual LayoutDeviceIntRect Bounds() const = 0; /** * Returns text of accessible if accessible has text role otherwise empty@@ -197,6 +201,33 @@ */ virtual nsAtom* TagName() const = 0;+ //////////////////////////////////////////////////////////////////////////////+ // ActionAccessible++ /**+ * Return the number of actions that can be performed on this accessible.+ */+ virtual uint8_t ActionCount() const = 0;++ /**+ * Return action name at given index.+ */+ virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) = 0;++ /**+ * Default to localized action name.+ */+ void ActionDescriptionAt(uint8_t aIndex, nsAString& aDescription) {+ nsAutoString name;+ ActionNameAt(aIndex, name);+ TranslateString(name, aDescription);+ }++ /**+ * Invoke the accessible action.+ */+ virtual bool DoAction(uint8_t aIndex) const = 0;+ // Type "is" methods bool IsDoc() const { return HasGenericType(eDocument); }@@ -312,6 +343,11 @@ virtual HyperTextAccessibleBase* AsHyperTextBase() { return nullptr; }+ /**+ * Return the localized string for the given key.+ */+ static void TranslateString(const nsString& aKey, nsAString& aStringOut);+ protected: // Some abstracted group utility methods.
Analyzing the provided code diff, here are the potential security fixes: 1. Vulnerability Existed: not sure [Bounds() Return Type Change] [accessible/basetypes/Accessible.h] [Lines 157-160] [Old Code] `virtual nsIntRect Bounds() const = 0;` [Fixed Code] `virtual LayoutDeviceIntRect Bounds() const = 0;` Additional Details: The return type was changed from nsIntRect to LayoutDeviceIntRect with added documentation about screen coordinates in device pixels. This might be related to precision or security in coordinate handling, but the exact security impact isn't clear. 2. Vulnerability Existed: not sure [New Action Accessible Methods] [accessible/basetypes/Accessible.h] [Lines 201-233] [Old Code] (No previous implementation of ActionCount, ActionNameAt, ActionDescriptionAt, or DoAction) [Fixed Code] Added new virtual methods for action handling with bounds checking (uint8_t for index) Additional Details: The addition of action-related methods with proper bounds checking (using uint8_t for index) could be a security improvement, but without seeing the previous implementation or knowing the context, it's unclear if this fixes a specific vulnerability. Note: The diff also includes the addition of a TranslateString method and inclusion of "Units.h", but these don't appear to be directly related to security fixes. The changes seem more like API improvements and additions rather than direct vulnerability 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/css/css-values/calc-transform-origin-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-transform-origin-1-ref.html@@ -3,7 +3,6 @@ <head> <title>CSS Reference: Test for calc() on transform-origin</title> <link rel="author" title="L. David Baron" href="https://bugzilla.mozilla.org/show_bug.cgi?id=594934">- <meta name="flags" content=""> <style type="text/css"> body { margin: 100px }
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] [Lines 3-4] [Old Code] <meta name="flags" content=""> [Fixed Code] (line removed) Additional Details: - The diff shows only the removal of an empty meta tag with "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 change is likely related to test infrastructure maintenance rather than security No security vulnerabilities were identified in this diff. The change appears to be a benign removal of an unused meta tag from a test reference file.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/dom/media/webrtc/jsep/JsepTrack.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/media/webrtc/jsep/JsepTrack.h@@ -235,7 +235,8 @@ SdpMediaSection* answer); virtual void Negotiate(const SdpMediaSection& answer,- const SdpMediaSection& remote);+ const SdpMediaSection& remote,+ const SdpMediaSection& local); static void SetUniquePayloadTypes(std::vector<JsepTrack*>& tracks); virtual void GetNegotiatedPayloadTypes( std::vector<uint16_t>* payloadTypes) const;@@ -300,7 +301,8 @@ JsepTrackNegotiatedDetails* details); virtual std::vector<UniquePtr<JsepCodecDescription>> NegotiateCodecs(- const SdpMediaSection& remote, bool isOffer);+ const SdpMediaSection& remote, bool remoteIsOffer,+ Maybe<const SdpMediaSection&> local); JsConstraints* FindConstraints( const std::string& rid,
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: not sure [Potential Parameter Validation Issue] [dom/media/webrtc/jsep/JsepTrack.h] [Lines 235-236] [Old Code] virtual void Negotiate(const SdpMediaSection& answer, const SdpMediaSection& remote); [Fixed Code] virtual void Negotiate(const SdpMediaSection& answer, const SdpMediaSection& remote, const SdpMediaSection& local); Additional Details: The change adds a new parameter 'local' to the Negotiate method. While this could improve validation by having access to local session description, it's unclear if this was fixing a specific security vulnerability. 2. Vulnerability Existed: not sure [Potential Codec Negotiation Issue] [dom/media/webrtc/jsep/JsepTrack.h] [Lines 300-301] [Old Code] virtual std::vector<UniquePtr<JsepCodecDescription>> NegotiateCodecs( const SdpMediaSection& remote, bool isOffer); [Fixed Code] virtual std::vector<UniquePtr<JsepCodecDescription>> NegotiateCodecs( const SdpMediaSection& remote, bool remoteIsOffer, Maybe<const SdpMediaSection&> local); Additional Details: The change modifies the NegotiateCodecs method to include local session description information and renames a parameter. This could potentially address issues with codec negotiation security, but without more context, we can't be certain if this was fixing a specific vulnerability. Note: The changes appear to be adding more context (local session description) to negotiation methods, which could potentially improve security by enabling better validation, but without more context about the specific vulnerabilities being addressed, we can't definitively identify 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/gfx/layers/apz/util/APZCCallbackHelper.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/apz/util/APZCCallbackHelper.cpp@@ -151,6 +151,7 @@ nsLayoutUtils::FindScrollableFrameFor(aRequest.GetScrollId()); if (sf) { sf->ResetScrollInfoIfNeeded(aRequest.GetScrollGeneration(),+ aRequest.GetScrollGenerationOnApz(), aRequest.GetScrollAnimationType()); sf->SetScrollableByAPZ(!aRequest.IsScrollInfoLayer()); if (sf->IsRootScrollFrameOfDocument()) {@@ -674,14 +675,9 @@ } static void SendLayersDependentApzcTargetConfirmation(- nsPresContext* aPresContext, uint64_t aInputBlockId,+ nsIWidget* aWidget, uint64_t aInputBlockId, nsTArray<ScrollableLayerGuid>&& aTargets) {- PresShell* ps = aPresContext->GetPresShell();- if (!ps) {- return;- }-- WindowRenderer* renderer = ps->GetWindowRenderer();+ WindowRenderer* renderer = aWidget->GetWindowRenderer(); if (!renderer) { return; }@@ -720,7 +716,7 @@ void DisplayportSetListener::OnPostRefresh() { APZCCH_LOG("Got refresh, sending target APZCs for input block %" PRIu64 "\n", mInputBlockId);- SendLayersDependentApzcTargetConfirmation(mPresContext, mInputBlockId,+ SendLayersDependentApzcTargetConfirmation(mWidget, mInputBlockId, std::move(mTargets)); }
I'll analyze the provided code diff for security fixes following the specified format. 1. First change (lines 151-152): Vulnerability Existed: not sure [Potential Scroll Generation Mismatch] [gfx/layers/apz/util/APZCCallbackHelper.cpp] [151-152] [Old Code] sf->ResetScrollInfoIfNeeded(aRequest.GetScrollGeneration(), aRequest.GetScrollAnimationType()); [Fixed Code] sf->ResetScrollInfoIfNeeded(aRequest.GetScrollGeneration(), aRequest.GetScrollGenerationOnApz(), aRequest.GetScrollAnimationType()); Additional Details: This adds a new parameter `GetScrollGenerationOnApz()` to the function call. While this could potentially fix a race condition or synchronization issue between APZ and main thread scroll generations, I can't determine if this was an actual security vulnerability without more context. 2. Second change (lines 674-689): Vulnerability Existed: yes [Potential Null Pointer Dereference] [gfx/layers/apz/util/APZCCallbackHelper.cpp] [674-689] [Old Code] static void SendLayersDependentApzcTargetConfirmation( nsPresContext* aPresContext, uint64_t aInputBlockId, nsTArray<ScrollableLayerGuid>&& aTargets) { PresShell* ps = aPresContext->GetPresShell(); if (!ps) { return; } WindowRenderer* renderer = ps->GetWindowRenderer(); [Fixed Code] static void SendLayersDependentApzcTargetConfirmation( nsIWidget* aWidget, uint64_t aInputBlockId, nsTArray<ScrollableLayerGuid>&& aTargets) { WindowRenderer* renderer = aWidget->GetWindowRenderer(); Additional Details: The change removes the intermediate step of getting PresShell from PresContext, which could potentially be null, and directly uses the widget to get the WindowRenderer. This could prevent a potential null pointer dereference if either PresContext or PresShell were null. 3. Third change (line 720): Vulnerability Existed: yes [Same as above - Null Pointer Dereference] [gfx/layers/apz/util/APZCCallbackHelper.cpp] [720] [Old Code] SendLayersDependentApzcTargetConfirmation(mPresContext, mInputBlockId, [Fixed Code] SendLayersDependentApzcTargetConfirmation(mWidget, mInputBlockId, Additional Details: This is part of the same fix as the second vulnerability, changing the parameter from mPresContext to mWidget to match the modified function signature and avoid potential null pointer 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/third_party/rust/target-lexicon/src/targets.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/target-lexicon/src/targets.rs@@ -19,6 +19,8 @@ Aarch64(Aarch64Architecture), Asmjs, Avr,+ Bpfeb,+ Bpfel, Hexagon, X86_32(X86_32Architecture), Mips32(Mips32Architecture),@@ -469,6 +471,8 @@ Gnuspe, Gnux32, GnuIlp32,+ HermitKernel,+ LinuxKernel, Macabi, Musl, Musleabi,@@ -479,6 +483,7 @@ Uclibc, Uclibceabi, Sgx,+ Sim, Softfloat, Spe, }@@ -509,6 +514,7 @@ AmdGcn | Asmjs | Avr+ | Bpfel | Hexagon | X86_32(_) | Mips64(Mips64Architecture::Mips64el)@@ -523,7 +529,8 @@ | Wasm32 | Wasm64 | X86_64 => Ok(Endianness::Little),- Mips32(Mips32Architecture::Mips)+ Bpfeb+ | Mips32(Mips32Architecture::Mips) | Mips64(Mips64Architecture::Mips64) | Mips32(Mips32Architecture::Mipsisa32r6) | Mips64(Mips64Architecture::Mipsisa64r6)@@ -555,6 +562,8 @@ | Mips32(_) | Powerpc => Ok(PointerWidth::U32), AmdGcn+ | Bpfeb+ | Bpfel | Powerpc64le | Riscv64(_) | X86_64@@ -730,6 +739,8 @@ AmdGcn => f.write_str("amdgcn"), Asmjs => f.write_str("asmjs"), Avr => f.write_str("avr"),+ Bpfeb => f.write_str("bpfeb"),+ Bpfel => f.write_str("bpfel"), Hexagon => f.write_str("hexagon"), X86_32(x86_32) => x86_32.fmt(f), Mips32(mips32) => mips32.fmt(f),@@ -909,6 +920,8 @@ "amdgcn" => AmdGcn, "asmjs" => Asmjs, "avr" => Avr,+ "bpfeb" => Bpfeb,+ "bpfel" => Bpfel, "hexagon" => Hexagon, "msp430" => Msp430, "nvptx64" => Nvptx64,@@ -1163,6 +1176,8 @@ Gnuspe => "gnuspe", Gnux32 => "gnux32", GnuIlp32 => "gnu_ilp32",+ HermitKernel => "hermitkernel",+ LinuxKernel => "linuxkernel", Macabi => "macabi", Musl => "musl", Musleabi => "musleabi",@@ -1173,6 +1188,7 @@ Uclibc => "uclibc", Uclibceabi => "uclibceabi", Sgx => "sgx",+ Sim => "sim", Softfloat => "softfloat", Spe => "spe", };@@ -1200,6 +1216,8 @@ "gnuspe" => Gnuspe, "gnux32" => Gnux32, "gnu_ilp32" => GnuIlp32,+ "hermitkernel" => HermitKernel,+ "linuxkernel" => LinuxKernel, "macabi" => Macabi, "musl" => Musl, "musleabi" => Musleabi,@@ -1210,6 +1228,7 @@ "uclibc" => Uclibc, "uclibceabi" => Uclibceabi, "sgx" => Sgx,+ "sim" => Sim, "softfloat" => Softfloat, "spe" => Spe, _ => return Err(()),@@ -1264,6 +1283,7 @@ "aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-macabi",+ "aarch64-apple-ios-sim", "aarch64-apple-tvos", "aarch64_be-unknown-linux-gnu", "aarch64_be-unknown-linux-gnu_ilp32",@@ -1322,6 +1342,8 @@ "armv7s-apple-ios", "asmjs-unknown-emscripten", "avr-unknown-unknown",+ "bpfeb-unknown-none",+ "bpfel-unknown-none", "hexagon-unknown-linux-musl", "i386-apple-ios", "i586-pc-windows-msvc",@@ -1378,6 +1400,7 @@ "powerpc-unknown-linux-gnuspe", "powerpc-unknown-linux-musl", "powerpc-unknown-netbsd",+ "powerpc-unknown-openbsd", "powerpc-wrs-vxworks", "powerpc-wrs-vxworks-spe", "powerpc64-unknown-freebsd",@@ -1387,14 +1410,17 @@ "powerpc64le-unknown-linux-gnu", "powerpc64le-unknown-linux-musl", "riscv32gc-unknown-linux-gnu",+ "riscv32gc-unknown-linux-musl", "riscv32i-unknown-none-elf", "riscv32imac-unknown-none-elf", "riscv32imc-unknown-none-elf", "riscv32i-unknown-none-elf", "riscv64gc-unknown-linux-gnu",+ "riscv64gc-unknown-linux-musl", "riscv64gc-unknown-none-elf", "riscv64imac-unknown-none-elf", "s390x-unknown-linux-gnu",+ "s390x-unknown-linux-musl", "sparc-unknown-linux-gnu", "sparc64-unknown-linux-gnu", "sparc64-unknown-netbsd",@@ -1418,8 +1444,8 @@ "wasm32-experimental-emscripten", "wasm32-unknown-emscripten", "wasm32-unknown-unknown",+ "wasm32-wasi", "wasm64-unknown-unknown",- "wasm32-wasi", "wasm64-wasi", "x86_64-apple-darwin", "x86_64-apple-ios",@@ -1428,12 +1454,12 @@ "x86_64-fortanix-unknown-sgx", "x86_64-fuchsia", "x86_64-linux-android",- "x86_64-linux-kernel",+ "x86_64-linux-kernel", // Changed to x86_64-unknown-none-linuxkernel in 1.53.0 "x86_64-apple-macosx10.7.0", "x86_64-pc-solaris", "x86_64-pc-windows-gnu", "x86_64-pc-windows-msvc",- "x86_64-rumprun-netbsd",+ "x86_64-rumprun-netbsd", // Removed in 1.53.0 "x86_64-sun-solaris", "x86_64-unknown-bitrig", "x86_64-unknown-cloudabi",@@ -1441,12 +1467,14 @@ "x86_64-unknown-freebsd", "x86_64-unknown-haiku", "x86_64-unknown-hermit",- "x86_64-unknown-hermit-kernel",+ "x86_64-unknown-hermit-kernel", // Changed to x86_64-unknown-none-hermitkernel in 1.53.0 "x86_64-unknown-illumos", "x86_64-unknown-l4re-uclibc", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-gnux32", "x86_64-unknown-linux-musl",+ "x86_64-unknown-none-hermitkernel",+ "x86_64-unknown-none-linuxkernel", "x86_64-unknown-netbsd", "x86_64-unknown-openbsd", "x86_64-unknown-redox",@@ -1459,7 +1487,7 @@ for target in targets.iter() { let t = Triple::from_str(target).expect("can't parse target"); assert_ne!(t.architecture, Architecture::Unknown);- assert_eq!(t.to_string(), *target);+ assert_eq!(t.to_string(), *target, "{:#?}", t); } }
After analyzing the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be feature additions and maintenance updates to the target lexicon. Here's the analysis: 1. Vulnerability Existed: no [Feature Addition] [third_party/rust/target-lexicon/src/targets.rs] [Multiple locations] [Old Code] [Various missing target architectures and environments] [Fixed Code] [Added support for BPF, HermitKernel, LinuxKernel, and other new targets] 2. Vulnerability Existed: no [Maintenance Update] [third_party/rust/target-lexicon/src/targets.rs] [Multiple locations] [Old Code] [Various target strings and parsing logic] [Fixed Code] [Updated target strings and parsing to match current Rust versions] The changes primarily consist of: - Adding new architecture variants (Bpfeb, Bpfel) - Adding new environment variants (HermitKernel, LinuxKernel, Sim) - Updating the list of known targets to match current Rust versions - Adjusting parsing and display logic for new targets - Some target string normalization (e.g., hermit-kernel → hermitkernel) These appear to be routine updates to keep the target lexicon in sync with Rust's evolving platform support rather than security fixes.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-contain/contain-layout-cell-002.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-contain/contain-layout-cell-002.html@@ -9,7 +9,6 @@ <link rel="match" href="reference/contain-layout-cell-001-ref.html"> <meta content="In this test, the td#contain should act as the containing block for div#abs-pos ." name="assert">- <meta name="flags" content=""> <style> table
Based on the provided code diff, I'll analyze it for security vulnerabilities: Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-contain/contain-layout-cell-002.html [Lines] 9 [Old Code] <meta name="flags" content=""> [Fixed Code] (removed line) Additional Details: - The change simply removes an empty meta tag with a "flags" attribute - This appears to be a cleanup change rather than a security fix - No known vulnerabilities are associated with empty meta tags - The modification doesn't affect any security-related functionality No other vulnerabilities were identified in this diff. The change seems to be related to test file maintenance rather than security fixes.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-ui/text-overflow-001.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-ui/text-overflow-001.html@@ -5,7 +5,6 @@ <link rel="author" title="Shiyou Tan" href="mailto:[email protected]"> <link rel="help" title="8.2. Overflow Ellipsis: the 'text-overflow' property" href="http://www.w3.org/TR/css3-ui/#text-overflow"> <link rel="match" href="reference/text-overflow-001-ref.html">-<meta name="flags" content=""> <meta name="assert" content="Test checks that the inline content that overflows will be clipped. Characters may be only partially rendered when text-overflow set clip"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
Based on the provided diff, I'll analyze it for potential security vulnerabilities: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-ui/text-overflow-001.html [Lines] 5 Old Code: <meta name="flags" content=""> Fixed Code: [line removed] Additional Details: - The change simply removes an empty meta tag for "flags" which doesn't appear to have any security implications - This seems to be a test file cleanup rather than a security fix - No known vulnerability patterns (XSS, injection, etc.) are present in this change - The modification doesn't affect any security-related functionality Since this is just removing an unused meta tag from a test file, there doesn't appear to be any security vulnerability being addressed here. The change is likely part of general code cleanup or test suite maintenance.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.isPointInPath.transform.3.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/path-objects/2d.path.isPointInPath.transform.3.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.scale(-1, 1); ctx.rect(-70, 0, 20, 20);
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 change from `offscreenCanvas` to `canvas` - No security implications are visible in this change - The functionality remains exactly the same, only the variable name was made more concise - This is likely a code style/readability improvement rather than a security fix No other vulnerabilities were detected in the provided diff. The changes appear to be 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/devtools/client/netmonitor/src/components/request-list/RequestListContent.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/client/netmonitor/src/components/request-list/RequestListContent.js@@ -25,6 +25,7 @@ getDisplayedRequests, getColumns, getSelectedRequest,+ getClickedRequest, } = require("devtools/client/netmonitor/src/selectors/index"); loader.lazyRequireGetter(@@ -77,7 +78,8 @@ cloneRequest: PropTypes.func.isRequired, clickedRequest: PropTypes.object, openDetailsPanelTab: PropTypes.func.isRequired,- openDetailsHTTPCustomRequestTab: PropTypes.func.isRequired,+ openHTTPCustomRequestTab: PropTypes.func.isRequired,+ closeHTTPCustomRequestTab: PropTypes.func.isRequired, sendCustomRequest: PropTypes.func.isRequired, displayedRequests: PropTypes.array.isRequired, firstRequestStartedMs: PropTypes.number.isRequired,@@ -341,7 +343,8 @@ connector, cloneRequest, openDetailsPanelTab,- openDetailsHTTPCustomRequestTab,+ openHTTPCustomRequestTab,+ closeHTTPCustomRequestTab, sendCustomRequest, openStatistics, openRequestBlockingAndAddUrl,@@ -352,7 +355,8 @@ connector, cloneRequest, openDetailsPanelTab,- openDetailsHTTPCustomRequestTab,+ openHTTPCustomRequestTab,+ closeHTTPCustomRequestTab, sendCustomRequest, openStatistics, openRequestBlockingAndAddUrl,@@ -453,7 +457,7 @@ networkDetailsOpen: state.ui.networkDetailsOpen, networkDetailsWidth: state.ui.networkDetailsWidth, networkDetailsHeight: state.ui.networkDetailsHeight,- clickedRequest: state.requests.clickedRequest,+ clickedRequest: getClickedRequest(state), displayedRequests: getDisplayedRequests(state), firstRequestStartedMs: state.requests.firstStartedMs, selectedActionBarTabId: state.ui.selectedActionBarTabId,@@ -463,8 +467,10 @@ (dispatch, props) => ({ cloneRequest: id => dispatch(Actions.cloneRequest(id)), openDetailsPanelTab: () => dispatch(Actions.openNetworkDetails(true)),- openDetailsHTTPCustomRequestTab: () =>+ openHTTPCustomRequestTab: () => dispatch(Actions.openHTTPCustomRequest(true)),+ closeHTTPCustomRequestTab: () =>+ dispatch(Actions.openHTTPCustomRequest(false)), sendCustomRequest: () => dispatch(Actions.sendCustomRequest(props.connector)), openStatistics: open =>
Based on the provided code diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: not sure [Potential State Management Issue] [devtools/client/netmonitor/src/components/request-list/RequestListContent.js] [Lines 453, 457] [Old Code] clickedRequest: state.requests.clickedRequest, [Fixed Code] clickedRequest: getClickedRequest(state), Additional Details: The change from direct state access to using a selector function (getClickedRequest) might indicate a previous potential state management issue, but without more context about the selector's implementation, I can't determine if this was actually a security vulnerability. 2. Vulnerability Existed: not sure [Potential Tab Management Issue] [devtools/client/netmonitor/src/components/request-list/RequestListContent.js] [Lines 78, 343, 352, 467] [Old Code] openDetailsHTTPCustomRequestTab: PropTypes.func.isRequired, openDetailsHTTPCustomRequestTab, [Fixed Code] openHTTPCustomRequestTab: PropTypes.func.isRequired, closeHTTPCustomRequestTab: PropTypes.func.isRequired, openHTTPCustomRequestTab, closeHTTPCustomRequestTab, Additional Details: The addition of a closeHTTPCustomRequestTab function suggests better tab management, but it's unclear if the previous implementation without this function posed a security risk. Note: The changes appear to be more about code organization and functionality improvements rather than obvious security fixes. The modifications mainly involve: 1. Using a selector function instead of direct state access 2. Better tab management with separate open/close functions 3. Renaming of some functions for consistency Without more context about the actual vulnerabilities these might be addressing, I can't definitively identify security issues. The changes seem more like architectural improvements than direct security fixes.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/mediaqueries/mq-invalid-media-type-002.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/mediaqueries/mq-invalid-media-type-002.html@@ -18,6 +18,9 @@ @media not or { div { background-color: red; } }+ @media or {+ div { background-color: red; }+ } </style> </head> <body>
After analyzing the provided code diff, here's the security assessment: Vulnerability Existed: no No security vulnerability found [File] [Lines 18-21] [Old Code] @media not or { div { background-color: red; } } [Fixed Code] @media not or { div { background-color: red; } } @media or { div { background-color: red; } } Additional Details: 1. The changes appear to be test case additions for CSS media query parsing behavior. 2. The modification adds another test case for invalid media type "or" but doesn't fix any security vulnerability. 3. This is likely part of test coverage improvement rather than a security fix. 4. The changes don't involve any user input handling or security-sensitive operations. The diff shows test case expansion for invalid CSS media query syntax testing, which is important for specification compliance but doesn't address any security concerns.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/accessible/android/AccessibleWrap.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/accessible/android/AccessibleWrap.h@@ -55,7 +55,7 @@ mozilla::java::GeckoBundle::LocalRef ToBundle(bool aSmall = false); mozilla::java::GeckoBundle::LocalRef ToBundle(- const uint64_t aState, const nsIntRect& aBounds,+ const uint64_t aState, const LayoutDeviceIntRect& aBounds, const uint8_t aActionCount, const nsString& aName, const nsString& aTextValue, const nsString& aDOMNodeID, const nsString& aDescription,
Let me analyze this code diff for security fixes: Vulnerability Existed: not sure [Potential Type Safety Issue] [accessible/android/AccessibleWrap.h] [Lines 55-58] [Old Code] mozilla::java::GeckoBundle::LocalRef ToBundle( const uint64_t aState, const nsIntRect& aBounds, [Fixed Code] mozilla::java::GeckoBundle::LocalRef ToBundle( const uint64_t aState, const LayoutDeviceIntRect& aBounds, Additional Details: - The change involves replacing `nsIntRect` with `LayoutDeviceIntRect` as the parameter type - While this appears to be a type safety improvement, it's not clear if this was fixing a specific security vulnerability - The change might be related to better coordinate system handling or preventing potential integer overflows, but without more context I can't be certain - No specific CVE or vulnerability name is immediately apparent from 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.