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/netwerk/protocol/http/Http3Stream.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/netwerk/protocol/http/Http3Stream.cpp@@ -68,51 +68,7 @@ mFlatHttpRequestHeaders.SetLength(endHeader + 2); *countUsed = avail - (oldLen - endHeader) + 4;- FindRequestContentLength(); return true;-}--void Http3Stream::FindRequestContentLength() {- MOZ_ASSERT(OnSocketThread(), "not on socket thread");- // Look for Content-Length header to find out if we have request body and- // how long it is.- int32_t contentLengthStart =- mFlatHttpRequestHeaders.Find("content-length:", /* aIgnoreCase = */ true);- if (contentLengthStart == -1) {- // There is no content-Length.- return;- }-- // We have Content-Length header, find the end of it.- int32_t crlfIndex =- mFlatHttpRequestHeaders.Find("\r\n", false, contentLengthStart);- if (crlfIndex == -1) {- MOZ_ASSERT(false, "We must have \\r\\n at the end of the headers string.");- return;- }-- // Find the beginning.- int32_t valueIndex =- mFlatHttpRequestHeaders.Find(":", false, contentLengthStart) + 1;- if (valueIndex > crlfIndex) {- // Content-Length headers is empty.- MOZ_ASSERT(false, "Content-Length must have a value.");- return;- }-- const char* beginBuffer = mFlatHttpRequestHeaders.BeginReading();- while (valueIndex < crlfIndex && beginBuffer[valueIndex] == ' ') {- ++valueIndex;- }-- nsDependentCSubstring value =- Substring(beginBuffer + valueIndex, beginBuffer + crlfIndex);-- int64_t len;- nsCString tmp(value);- if (nsHttp::ParseInt64(tmp.get(), nullptr, &len)) {- mRequestBodyLenRemaining = len;- } } void Http3Stream::SetPriority(uint32_t aCos) {@@ -159,6 +115,16 @@ head->Method(method); head->Path(path);+#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED+ nsAutoCString contentLength;+ if (NS_SUCCEEDED(head->GetHeader(nsHttp::Content_Length, contentLength))) {+ int64_t len;+ if (nsHttp::ParseInt64(contentLength.get(), nullptr, &len)) {+ mRequestBodyLenExpected = len;+ }+ }+#endif+ return mSession->TryActivating(method, scheme, authorityHeader, path, mFlatHttpRequestHeaders, &mStreamId, this); }@@ -170,7 +136,8 @@ mCurrentTopBrowsingContextId = id; bool nowFocused = (mCurrentTopBrowsingContextId == mTransactionTabId);- if (!StaticPrefs::network_http_http3_send_background_tabs_depriorization() ||+ if (!StaticPrefs::+ network_http_http3_send_background_tabs_deprioritization() || previouslyFocused == nowFocused) { return; }@@ -221,24 +188,14 @@ mTransaction->OnTransportStatus(nullptr, NS_NET_STATUS_SENDING_TO, mTotalSent);- if (mRequestBodyLenRemaining) {- mSendState = SENDING_BODY;- } else {- mTransaction->OnTransportStatus(nullptr, NS_NET_STATUS_WAITING_FOR, 0);- mSession->CloseSendingSide(mStreamId);- mSendState = SEND_DONE;- }+ mSendState = SENDING_BODY; break; case SENDING_BODY: { rv = mSession->SendRequestBody(mStreamId, buf, count, countRead); if (rv == NS_BASE_STREAM_WOULD_BLOCK) { mSendingBlockedByFlowControlCount++; }- MOZ_ASSERT(mRequestBodyLenRemaining >= *countRead,- "We cannot send more that than we promised.");- if (mRequestBodyLenRemaining < *countRead) {- rv = NS_ERROR_UNEXPECTED;- }+ if (NS_FAILED(rv)) { LOG3( ("Http3Stream::OnReadSegment %p sending body returns "@@ -247,28 +204,19 @@ break; }+#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED+ mRequestBodyLenSent += *countRead;+#endif mTotalSent += *countRead; mTransaction->OnTransportStatus(nullptr, NS_NET_STATUS_SENDING_TO, mTotalSent);-- mRequestBodyLenRemaining -= *countRead;- if (!mRequestBodyLenRemaining) {- mTransaction->OnTransportStatus(nullptr, NS_NET_STATUS_WAITING_FOR, 0);- mSession->CloseSendingSide(mStreamId);- mSendState = SEND_DONE;- Telemetry::Accumulate(- Telemetry::HTTP3_SENDING_BLOCKED_BY_FLOW_CONTROL_PER_TRANS,- mSendingBlockedByFlowControlCount);- } } break; case EARLY_RESPONSE: // We do not need to send the rest of the request, so just ignore it. *countRead = count;- mRequestBodyLenRemaining -= count;- if (!mRequestBodyLenRemaining) {- mTransaction->OnTransportStatus(nullptr, NS_NET_STATUS_WAITING_FOR, 0);- mSendState = SEND_DONE;- }+#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED+ mRequestBodyLenSent += count;+#endif break; default: MOZ_ASSERT(false, "We are done sending this request!");@@ -449,6 +397,16 @@ } again = false; } else if (!transactionBytes) {+ mTransaction->OnTransportStatus(nullptr, NS_NET_STATUS_WAITING_FOR, 0);+ mSession->CloseSendingSide(mStreamId);+ mSendState = SEND_DONE;+ Telemetry::Accumulate(+ Telemetry::HTTP3_SENDING_BLOCKED_BY_FLOW_CONTROL_PER_TRANS,+ mSendingBlockedByFlowControlCount);++#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED+ MOZ_DIAGNOSTIC_ASSERT(mRequestBodyLenSent == mRequestBodyLenExpected);+#endif rv = NS_OK; again = false; }@@ -526,7 +484,6 @@ mDataReceived = false; mResetRecv = false; mFlatResponseHeaders.TruncateLength(0);- mRequestBodyLenRemaining = 0; mTotalSent = 0; mTotalRead = 0; mFin = false;@@ -539,12 +496,12 @@ } uint8_t Http3Stream::PriorityUrgency() {- if (!StaticPrefs::network_http_http3_priorization()) {- // send default priorization which is equivalent to sending no priorization+ if (!StaticPrefs::network_http_http3_priority()) {+ // send default priority which is equivalent to sending no priority return 3; }- if (StaticPrefs::network_http_http3_send_background_tabs_depriorization() &&+ if (StaticPrefs::network_http_http3_send_background_tabs_deprioritization() && mCurrentTopBrowsingContextId != mTransactionTabId) { // Low priority return 6;@@ -553,8 +510,8 @@ } bool Http3Stream::PriorityIncremental() {- if (!StaticPrefs::network_http_http3_priorization()) {- // send default priorization which is equivalent to sending no priorization+ if (!StaticPrefs::network_http_http3_priority()) {+ // send default priority which is equivalent to sending no priority return false; } return mPriorityIncremental;
I'll analyze the code diff and provide the security findings following the specified format. Vulnerability Existed: yes Inconsistent Content-Length Handling [netwerk/protocol/http/Http3Stream.cpp] [Lines 68-115, 159-221] [Old Code] The old code had a custom FindRequestContentLength() function that manually parsed Content-Length headers and set mRequestBodyLenRemaining, which was then used to validate the amount of data being sent. [Fixed Code] The new code removes this manual parsing and validation, instead using a diagnostic assertion to track expected vs sent body length. The sending logic no longer strictly enforces Content-Length matching. Vulnerability Existed: not sure Potential Integer Overflow [netwerk/protocol/http/Http3Stream.cpp] [Lines 115, 204] [Old Code] The old code had strict validation of Content-Length values against actual bytes sent. [Fixed Code] The new code removes this validation but adds diagnostic assertions. While this might be safer from a parsing perspective, it could potentially allow integer overflow issues if very large Content-Length values are provided without proper validation. Vulnerability Existed: yes Typo in Deprioritization Flag [netwerk/protocol/http/Http3Stream.cpp] [Lines 136, 496] [Old Code] StaticPrefs::network_http_http3_send_background_tabs_depriorization() [Fixed Code] StaticPrefs::network_http_http3_send_background_tabs_deprioritization() Note: While this is primarily a typo fix, incorrect flag names in security-sensitive contexts could lead to unexpected behavior. Vulnerability Existed: not sure Potential Request Smuggling [netwerk/protocol/http/Http3Stream.cpp] [Multiple locations] [Old Code] The old code had strict Content-Length validation during request sending. [Fixed Code] The new code removes this validation, which could potentially allow HTTP request smuggling if the server interprets the request body differently than the client. However, this is mitigated by the HTTP/3 protocol's framing.
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/tokio-timer/.cargo-checksum.json+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/tokio-timer/.cargo-checksum.json@@ -1 +1 @@-{"files":{"CHANGELOG.md":"ab15e4858ec8d67ac6473a66024839e3bf5b4da9a9dcecafa7341874766e7c09","Cargo.toml":"4ea12514b65011e9d2031da126bbb071e494487dd2c9b48d883ec305218775d5","LICENSE":"898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1","README.md":"f2e58a3af4058d94b232701ef52ab95873740048e8254b00f97e67010e9834ba","src/atomic.rs":"4fc9d8c28f76b29be3e6ecd8487e82299b859b6eb86f569503c751ccb5382b34","src/clock/clock.rs":"f0b7d743bca97658b7913812185f697e56bd87d6d49d9de2f031ad0361211e88","src/clock/mod.rs":"0fe9803a8cda8a381983fe5816432d140db0b019cbaae2381404a8c7152e871b","src/clock/now.rs":"ba278929aab20358545f111228ef32b6b69203bb4ba45483ef35111b0f765f2b","src/deadline.rs":"520661e3d3e7f05d6946cae501e3ad4a0363812243abde12f0098159a74c4d74","src/delay.rs":"745c46b296d372653cabfd8ec19e74dae3e4c224f497778f570035feabf3fb0d","src/delay_queue.rs":"626bf9174eb7b989b4341ef2d30f87871b6cac5f5fab61d2b439122c686798e2","src/error.rs":"542c6364dfc81d710a5ba9da51156610c1d64a9467c62eda4f473c715e7e997b","src/interval.rs":"0a65da9bedfc1489c49867ac0d0059bc84941dfa2886905d3f1a364af57d78ab","src/lib.rs":"8e6cb6517de28b71a7bec5f5b120a3f7481032c5a060c9ec3a00406e46a0a0d1","src/throttle.rs":"564acd0d53ef2d010c073ce70bbe7a4768c8629b588a33194e5df31bf8634cc7","src/timeout.rs":"1a999edaa35d53340292d43cd768f292ac43177b256c7304418f417fb5a0c242","src/timer/atomic_stack.rs":"89edcaba3117c97d1a7e7a52a83f85a4f85422d743b159f31fa6ce9a6468ea0c","src/timer/entry.rs":"7626934cb4ecdcb2ed341a5a525a50af180af246e3d530fd5f40aa213a34d7d9","src/timer/handle.rs":"02d2ad4987ac6fed86d4873284c71b35ec1bbbaa47916e9e27c018a7f2a18c33","src/timer/mod.rs":"98a1fe76220328b43eda6efe7511d6922114c3ff4aaf861396e0d58a68931c12","src/timer/now.rs":"e876ff3dde4bc2849f375a2362e0298d72803cc32dc333a05696ac780488240e","src/timer/registration.rs":"9f5c7ad5a04e09dbee6446914c26c64582e40c3d01f4256836f3ddafda327393","src/timer/stack.rs":"8ef886ea48f1416256c591c3025f0cac3281393db5fb64d5997b27ef113ac07f","src/wheel/level.rs":"7d202187a7c2afac49dbd7c8ebec0d76dae62e4aa7d5fd6d24d3be0393ab9b6c","src/wheel/mod.rs":"91de01757843b09788841270a63ded7132ad26084e2fed0b1fa62299955cae90","src/wheel/stack.rs":"ac5fd0f6cac1bfdd9497b6eaa4f64beb816bc5605ecae463bd10a5e4c48e78c0","tests/clock.rs":"102180344fae71730d4628a30ec7d298a07a4fae5c1a711f0a8b274219eab362","tests/deadline.rs":"8364b7d8aae7a37b253e27ceeb9a5d80e2e46fbc887e16d48960b732d96166e5","tests/delay.rs":"3b3dba3eeac4d6a39b7c60af3efa63d93f26e1385dc765818732af29cabb1a19","tests/hammer.rs":"1e54fa8f91f9bfe78c66f4ba9a03832a0f8488fe2e521d2be48449e1ce3ce0c0","tests/interval.rs":"dfda478559278a46afb309393ab1fe0ede205d39bb0805ae3eec994c30c46d0c","tests/queue.rs":"feba53b17bca15fde62d54aed85069539333f029ae042a9bc4542e4c5281eaee","tests/support/mod.rs":"19efb8cdf608f3d1cbf9efd3d1608d6197f7fee386d00288a9dfe222fc89114d","tests/throttle.rs":"83e6977d7be434a20082a8cdb04c1dce87bd3e91aa9abfbd793912f257391e87","tests/timeout.rs":"0255896397215ef83764cd8f3b9da1aa10f2e453acf51d04efeee80427e418e4"},"package":"f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e"}+{"files":{"CHANGELOG.md":"f74e4c4af8f7858910c0dc3875ddcc2f5e6689771a05e79c7afedc41cc98a426","Cargo.toml":"e6950768269656266f50c038e428f67a206462eda5ce024c94b3ceb11bae04a8","LICENSE":"898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1","README.md":"62860ef13cb86f22cea46c2910a0ce3cc463e9ebcf79d3133694ea24ec9553f0","src/atomic.rs":"4fc9d8c28f76b29be3e6ecd8487e82299b859b6eb86f569503c751ccb5382b34","src/clock/clock.rs":"79e89d13e33d63825f78a3be91b9b1b27de0a2dcf40cc86d59a24794415a763c","src/clock/mod.rs":"b4503672784d133e23a95c0e87237ac6959c87bd249f9a8c38ac71c9db963baa","src/clock/now.rs":"ba278929aab20358545f111228ef32b6b69203bb4ba45483ef35111b0f765f2b","src/deadline.rs":"520661e3d3e7f05d6946cae501e3ad4a0363812243abde12f0098159a74c4d74","src/delay.rs":"745c46b296d372653cabfd8ec19e74dae3e4c224f497778f570035feabf3fb0d","src/delay_queue.rs":"626bf9174eb7b989b4341ef2d30f87871b6cac5f5fab61d2b439122c686798e2","src/error.rs":"542c6364dfc81d710a5ba9da51156610c1d64a9467c62eda4f473c715e7e997b","src/interval.rs":"0a65da9bedfc1489c49867ac0d0059bc84941dfa2886905d3f1a364af57d78ab","src/lib.rs":"4ba9bfac3d0deb3f5f95201de34e5d6cd2ef2552ba4d135055bfdd842627296e","src/throttle.rs":"f1ac99ab5feec26c3e1ced0f442741397d8ef175bba987730e24e9b25a75b5dd","src/timeout.rs":"1a999edaa35d53340292d43cd768f292ac43177b256c7304418f417fb5a0c242","src/timer/atomic_stack.rs":"89edcaba3117c97d1a7e7a52a83f85a4f85422d743b159f31fa6ce9a6468ea0c","src/timer/entry.rs":"7626934cb4ecdcb2ed341a5a525a50af180af246e3d530fd5f40aa213a34d7d9","src/timer/handle.rs":"690110473d5e08f9d2481eb1c854c6c4b50b37acabd9ccddef45b3db27369b73","src/timer/mod.rs":"347993a46808b1bf2135ab5678aacc9e65d9d89d67a44e246cc8fa3bc6445005","src/timer/now.rs":"e876ff3dde4bc2849f375a2362e0298d72803cc32dc333a05696ac780488240e","src/timer/registration.rs":"9f5c7ad5a04e09dbee6446914c26c64582e40c3d01f4256836f3ddafda327393","src/timer/stack.rs":"8ef886ea48f1416256c591c3025f0cac3281393db5fb64d5997b27ef113ac07f","src/wheel/level.rs":"7d202187a7c2afac49dbd7c8ebec0d76dae62e4aa7d5fd6d24d3be0393ab9b6c","src/wheel/mod.rs":"91de01757843b09788841270a63ded7132ad26084e2fed0b1fa62299955cae90","src/wheel/stack.rs":"ac5fd0f6cac1bfdd9497b6eaa4f64beb816bc5605ecae463bd10a5e4c48e78c0","tests/clock.rs":"102180344fae71730d4628a30ec7d298a07a4fae5c1a711f0a8b274219eab362","tests/deadline.rs":"8364b7d8aae7a37b253e27ceeb9a5d80e2e46fbc887e16d48960b732d96166e5","tests/delay.rs":"3b3dba3eeac4d6a39b7c60af3efa63d93f26e1385dc765818732af29cabb1a19","tests/hammer.rs":"1e54fa8f91f9bfe78c66f4ba9a03832a0f8488fe2e521d2be48449e1ce3ce0c0","tests/interval.rs":"dfda478559278a46afb309393ab1fe0ede205d39bb0805ae3eec994c30c46d0c","tests/queue.rs":"9d5594b3e37feecb764187a992a19d418a8e10e4f8603f66d2057750190bc172","tests/support/mod.rs":"19efb8cdf608f3d1cbf9efd3d1608d6197f7fee386d00288a9dfe222fc89114d","tests/throttle.rs":"83e6977d7be434a20082a8cdb04c1dce87bd3e91aa9abfbd793912f257391e87","tests/timeout.rs":"0255896397215ef83764cd8f3b9da1aa10f2e453acf51d04efeee80427e418e4"},"package":"93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"}=========testing/web-platform/tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.transform.html========--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.transform.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.transform.html@@ -18,8 +18,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50);@@ -36,7 +36,7 @@ promise.then(function(response) { createImageBitmap(response).then(bitmap => { ctx.drawImage(bitmap, 0, 0);- _assertPixelApprox(offscreenCanvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255", 2);+ _assertPixelApprox(canvas, 50,25, 0,255,0,255, "50,25", "0,255,0,255", 2); }, t_fail); }).then(t_pass, t_fail);
I'll analyze the provided code diffs for security fixes following the specified format. 1. First diff (rust/tokio-timer/.cargo-checksum.json): Vulnerability Existed: not sure [No specific vulnerability name] [third_party/rust/tokio-timer/.cargo-checksum.json] [Entire file] [Old checksums and package hash] [New checksums and package hash] Additional Details: This appears to be a dependency version update with changed checksums. Without seeing the actual code changes in the dependencies, I can't determine if any security vulnerabilities were fixed. 2. Second diff (canvas test file): Vulnerability Existed: no [No vulnerability] [testing/web-platform/tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.transform.html] [Lines 18-19, 36] [Old code using 'offscreenCanvas' variable] [New code using 'canvas' variable] Additional Details: This is purely a variable renaming change in a test file with no security implications. The functionality remains exactly the same, just with a different variable name. No actual security vulnerabilities were identified in these changes. The first diff might be related to security updates in dependencies, but without seeing the actual dependency changelogs or code changes, I can't confirm this. The second diff is clearly just a test refactoring.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/tools/profiler/core/ProfileBufferEntry.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/tools/profiler/core/ProfileBufferEntry.h@@ -144,7 +144,8 @@ struct JITFrameInfo final { JITFrameInfo() : mUniqueStrings(mozilla::MakeUnique<UniqueJSONStrings>()) {}- MOZ_IMPLICIT JITFrameInfo(const JITFrameInfo& aOther);+ MOZ_IMPLICIT JITFrameInfo(const JITFrameInfo& aOther,+ mozilla::ProgressLogger aProgressLogger); // Creates a new JITFrameInfoForBufferRange object in mRanges by looking up // information about the provided JIT return addresses using aCx.
Based on the provided code diff, here's the analysis: Vulnerability Existed: not sure [Potential Copy Constructor Issue] [tools/profiler/core/ProfileBufferEntry.h] [Lines 144] [Old Code] MOZ_IMPLICIT JITFrameInfo(const JITFrameInfo& aOther); [Fixed Code] MOZ_IMPLICIT JITFrameInfo(const JITFrameInfo& aOther, mozilla::ProgressLogger aProgressLogger); Additional Details: The change modifies the copy constructor to include a ProgressLogger parameter. While this might indicate a fix for some synchronization or logging issue, there's not enough context to determine if this was fixing a specific security vulnerability. The change could be related to improved debugging or progress tracking rather than a direct security fix. Without more context about the ProgressLogger's purpose or any associated vulnerabilities, we can't definitively say this was a security fix.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/toolkit/components/glean/docs/user/migration.md+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/toolkit/components/glean/docs/user/migration.md@@ -1,7 +1,7 @@ # Migrating Firefox Telemetry to Glean This guide aims to help you migrate individual data collections from-[Firefox Telemetry](../../telemetry)+[Firefox Telemetry](/toolkit/components/telemetry/index.rst) to [Glean][book-of-glean] via [Firefox on Glean](../index.md).@@ -902,7 +902,7 @@ [new-metric-type]: https://wiki.mozilla.org/Glean/Adding_or_changing_Glean_metric_types [glean-matrix]: https://chat.mozilla.org/#/room/#glean:mozilla.org [checkerboard-severity]: https://searchfox.org/mozilla-central/rev/d59bdea4956040e16113b05296c56867f761735b/gfx/layers/apz/src/CheckerboardEvent.cpp#44-[telemetry-events]: ../../telemetry/collection/events.html-[telemetry-scalars]: ../../telemetry/collection/scalars.html-[telemetry-histograms]: ../../telemetry/collection/histograms.html+[telemetry-events]: /toolkit/components/telemetry/collection/events.rst+[telemetry-scalars]: /toolkit/components/telemetry/collection/scalars.rst+[telemetry-histograms]: /toolkit/components/telemetry/collection/histograms.rst [repositories-yaml]: https://github.com/mozilla/probe-scraper/blob/main/repositories.yaml
Based on the provided diff, this appears to be a documentation update rather than a security fix. The changes are primarily updating links to point to different file paths (changing from HTML to RST file extensions and adjusting relative paths to absolute paths). Here's the analysis following your requested format: Vulnerability Existed: no No security vulnerability found [toolkit/components/glean/docs/user/migration.md] [Lines 1-7, 902-907] [Old Code] [Firefox Telemetry](../../telemetry) [telemetry-events]: ../../telemetry/collection/events.html [telemetry-scalars]: ../../telemetry/collection/scalars.html [telemetry-histograms]: ../../telemetry/collection/histograms.html [Fixed Code] [Firefox Telemetry](/toolkit/components/telemetry/index.rst) [telemetry-events]: /toolkit/components/telemetry/collection/events.rst [telemetry-scalars]: /toolkit/components/telemetry/collection/scalars.rst [telemetry-histograms]: /toolkit/components/telemetry/collection/histograms.rst The changes are documentation link updates with no apparent security implications. The modifications: 1. Update relative paths to absolute paths 2. Change file extensions from .html to .rst 3. Fix a broken link to the telemetry index page No vulnerabilities were fixed 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/tests/suggestions.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/darling/tests/suggestions.rs@@ -1,13 +1,8 @@+#![allow(dead_code)] #![cfg(feature = "suggestions")]-#[macro_use]-extern crate darling;-#[macro_use]-extern crate syn;-#[macro_use]-extern crate quote;--use darling::FromDeriveInput;+use darling::{FromDeriveInput, FromMeta};+use syn::parse_quote; #[derive(Debug, FromDeriveInput)] #[darling(attributes(suggest))]
Based on the provided diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: no Dependency Cleanup [third_party/rust/darling/tests/suggestions.rs] [Lines 1-13] [Old Code: #[macro_use] extern crate darling; #[macro_use] extern crate syn; #[macro_use] extern crate quote; use darling::FromDeriveInput;] [Fixed Code: #![allow(dead_code)] #![cfg(feature = "suggestions")] use darling::{FromDeriveInput, FromMeta}; use syn::parse_quote;] Analysis: This appears to be a code cleanup/modernization change rather than a security fix. The changes involve: 1. Adding `allow(dead_code)` attribute 2. Removing explicit `extern crate` declarations (modern Rust style) 3. Consolidating imports 4. Adding `FromMeta` to imports 5. Adding `parse_quote` import No security vulnerabilities are apparent in this change. The modifications are primarily stylistic and organizational in nature, following modern Rust conventions. No other vulnerabilities were detected in this diff. The changes appear to be focused on code quality and modernization 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-backgrounds/background-clip-003.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-backgrounds/background-clip-003.html@@ -7,7 +7,6 @@ <link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 --> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" title="3.7. Painting Area: the 'background-clip' property"> <link rel="match" href="reference/background-clip-002-ref.html">- <meta name="flags" content=""> <meta name="assert" content="Background-clip with 'border-box' implies to paint the background within (clipped to) the border box."> <style> #ref-overlapped-red {
Analysis of the provided code diff: 1. Vulnerability Existed: no No security vulnerability found [File] testing/web-platform/tests/css/css-backgrounds/background-clip-003.html [Lines] 7 Old Code: <meta name="flags" content=""> Fixed Code: (line removed) Additional Notes: - The diff shows only the removal of an empty meta tag for "flags", which appears to be test-related metadata rather than a security-related change. - No actual security vulnerabilities or security-related fixes are apparent in this diff. - The change seems to be a minor cleanup of test file metadata rather than addressing any 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/layout/reftests/css-grid/grid-fragmentation-031-ref.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/layout/reftests/css-grid/grid-fragmentation-031-ref.html@@ -21,7 +21,7 @@ -ms-column-fill: auto; -webkit-column-fill: auto; column-fill: auto;- border: 2px dashed;+ border: 2px solid salmon; margin-bottom: 5px; }
After analyzing the provided code diff, here's the security assessment: Vulnerability Existed: no [No security vulnerability found] [layout/reftests/css-grid/grid-fragmentation-031-ref.html] [Lines 21] [Old Code: border: 2px dashed;] [Fixed Code: border: 2px solid salmon;] Additional Details: 1. The change appears to be purely cosmetic/visual, modifying the border style from dashed to solid and changing the color to salmon. 2. This is part of a CSS grid layout test file, and the modification doesn't affect any security-related functionality. 3. No known vulnerabilities are associated with CSS border styling changes. 4. The file is a test reference file, not production code that would be exposed to potential security threats.
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_meta.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/darling_core/src/options/from_meta.rs@@ -1,10 +1,9 @@ use proc_macro2::TokenStream; use quote::ToTokens;-use syn;-use codegen::FromMetaImpl;-use options::{Core, ParseAttribute, ParseData};-use Result;+use crate::codegen::FromMetaImpl;+use crate::options::{Core, ParseAttribute, ParseData};+use crate::Result; pub struct FromMetaOptions { base: Core,@@ -13,7 +12,7 @@ impl FromMetaOptions { pub fn new(di: &syn::DeriveInput) -> Result<Self> { (FromMetaOptions {- base: Core::start(di),+ base: Core::start(di)?, }) .parse_attributes(&di.attrs)? .parse_body(&di.data)
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: no Dependency Update/Code Cleanup [third_party/rust/darling_core/src/options/from_meta.rs] [Lines 1-13] Old Code: ```rust use proc_macro2::TokenStream; use quote::ToTokens; -use syn; -use codegen::FromMetaImpl; -use options::{Core, ParseAttribute, ParseData}; -use Result; ``` Fixed Code: ```rust use proc_macro2::TokenStream; use quote::ToTokens; +use crate::codegen::FromMetaImpl; +use crate::options::{Core, ParseAttribute, ParseData}; +use crate::Result; ``` Additional Details: This appears to be a code cleanup/modernization change rather than a security fix, updating import paths to use explicit crate:: prefixes. 2. Vulnerability Existed: not sure Potential Error Handling Improvement [third_party/rust/darling_core/src/options/from_meta.rs] [Lines 13] Old Code: ```rust base: Core::start(di), ``` Fixed Code: ```rust base: Core::start(di)?, ``` Additional Details: The addition of error propagation (?) operator suggests improved error handling, but without more context about Core::start()'s behavior, it's unclear if this fixes a potential security issue or is just a robustness improvement.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/js/src/vm/Initialization.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/vm/Initialization.cpp@@ -20,9 +20,11 @@ #include "builtin/TestingFunctions.h" #include "ds/MemoryProtectionExceptionHandler.h" #include "gc/Statistics.h"+#include "jit/Assembler.h" #include "jit/AtomicOperations.h" #include "jit/Ion.h" #include "jit/JitCommon.h"+#include "jit/JitOptions.h" #include "jit/ProcessExecutableMemory.h" #include "js/Utility.h" #include "threading/ProtectedData.h" // js::AutoNoteSingleThreadedRegion@@ -174,8 +176,6 @@ js::coverage::InitLCov();- RETURN_IF_FAIL(js::jit::InitProcessExecutableMemory());- RETURN_IF_FAIL(js::MemoryProtectionExceptionHandler::install()); RETURN_IF_FAIL(js::jit::InitializeJit());@@ -185,8 +185,6 @@ #ifdef MOZ_VTUNE RETURN_IF_FAIL(js::vtune::Initialize()); #endif-- RETURN_IF_FAIL(js::jit::AtomicOperations::Initialize()); #if JS_HAS_INTL_API if (mozilla::intl::ICU4CLibrary::Initialize().isErr()) {@@ -208,7 +206,7 @@ #endif #ifndef JS_CODEGEN_NONE- // Normally this is forced by the compilation of atomic operations.+ // This is forced by InitializeJit. MOZ_ASSERT(js::jit::CPUFlagsHaveBeenComputed()); #endif@@ -243,11 +241,11 @@ return false; }-#ifndef JS_CODEGEN_NONE- if (!rt->createJitRuntime(cx)) {- return false;- }-#endif+ if (js::jit::HasJitBackend()) {+ if (!rt->createJitRuntime(cx)) {+ return false;+ }+ } return true; }@@ -274,8 +272,6 @@ js::jit::SimulatorProcess::destroy(); #endif- js::jit::AtomicOperations::ShutDown();- #ifdef JS_TRACE_LOGGING js::DestroyTraceLoggerThreadState(); js::DestroyTraceLoggerGraphState();@@ -306,10 +302,9 @@ js::FinishDateTimeState();- if (!JSRuntime::hasLiveRuntimes()) {- js::jit::ReleaseProcessExecutableMemory();- MOZ_ASSERT(!js::LiveMappedBufferCount());- }+ js::jit::ShutdownJit();++ MOZ_ASSERT_IF(!JSRuntime::hasLiveRuntimes(), !js::LiveMappedBufferCount()); js::ShutDownMallocAllocator();@@ -331,3 +326,16 @@ return true; #endif }++#if defined(ENABLE_WASM_SIMD) && \+ (defined(JS_CODEGEN_X64) || defined(JS_CODEGEN_X86))+void JS::SetAVXEnabled() { js::jit::CPUInfo::SetAVXEnabled(); }+#endif++JS_PUBLIC_API void JS::DisableJitBackend() {+ MOZ_ASSERT(libraryInitState == InitState::Uninitialized,+ "DisableJitBackend must be called before JS_Init");+ MOZ_ASSERT(!JSRuntime::hasLiveRuntimes(),+ "DisableJitBackend must be called before creating a JSContext");+ js::jit::JitOptions.disableJitBackend = true;+}
Here's the analysis of the provided code diff for security fixes: 1. Vulnerability Existed: not sure [Potential JIT Initialization Order Issue] [js/src/vm/Initialization.cpp] [Lines 174-185] [Old Code] RETURN_IF_FAIL(js::jit::InitProcessExecutableMemory()); RETURN_IF_FAIL(js::MemoryProtectionExceptionHandler::install()); RETURN_IF_FAIL(js::jit::InitializeJit()); [Fixed Code] RETURN_IF_FAIL(js::MemoryProtectionExceptionHandler::install()); RETURN_IF_FAIL(js::jit::InitializeJit()); 2. Vulnerability Existed: not sure [Potential Atomic Operations Initialization Issue] [js/src/vm/Initialization.cpp] [Lines 185] [Old Code] RETURN_IF_FAIL(js::jit::AtomicOperations::Initialize()); [Fixed Code] [Removed] 3. Vulnerability Existed: not sure [Potential JIT Runtime Creation Issue] [js/src/vm/Initialization.cpp] [Lines 243-246] [Old Code] #ifndef JS_CODEGEN_NONE if (!rt->createJitRuntime(cx)) { return false; } #endif [Fixed Code] if (js::jit::HasJitBackend()) { if (!rt->createJitRuntime(cx)) { return false; } } 4. Vulnerability Existed: not sure [Potential JIT Shutdown Order Issue] [js/src/vm/Initialization.cpp] [Lines 274] [Old Code] js::jit::AtomicOperations::ShutDown(); [Fixed Code] [Removed] 5. Vulnerability Existed: not sure [Potential Executable Memory Management Issue] [js/src/vm/Initialization.cpp] [Lines 302-305] [Old Code] if (!JSRuntime::hasLiveRuntimes()) { js::jit::ReleaseProcessExecutableMemory(); MOZ_ASSERT(!js::LiveMappedBufferCount()); } [Fixed Code] js::jit::ShutdownJit(); MOZ_ASSERT_IF(!JSRuntime::hasLiveRuntimes(), !js::LiveMappedBufferCount()); The changes appear to be related to JIT initialization and shutdown sequence, atomic operations handling, and executable memory management. While I can't identify specific named vulnerabilities, these changes suggest improvements to the initialization/shutdown sequence and better handling of JIT-related resources. The modifications include: 1. Removal of explicit executable memory initialization 2. Removal of atomic operations initialization/shutdown 3. More controlled JIT runtime creation 4. Consolidated JIT shutdown process 5. Added JIT backend disabling capability These changes likely address potential race conditions or improper initialization ordering issues that could lead to security vulnerabilities, though without more context I can't identify specific CVE-worthy 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/speculation-rules/prerender/cache-storage.https.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/speculation-rules/prerender/cache-storage.https.html@@ -3,6 +3,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script>+<script src="/common/utils.js"></script> <script src="resources/utils.js"></script> <body> <script>@@ -10,32 +11,23 @@ setup(() => assertSpeculationRulesIsSupported()); promise_test(async t => {- const bc = new BroadcastChannel('prerender-channel');-- const gotMessage = new Promise(resolve => {- bc.addEventListener('message', e => {- resolve(e.data);- }, {- once: true- });- });-- const cacheName = 'checkallowed';+ const cacheName = token(); const cache = await caches.open(cacheName); await cache.add('resources/cache.txt');+ t.add_cleanup(() => caches.delete(cacheName)); const response = await cache.match('resources/cache.txt'); const cacheText = await (response ? response.text() : 'primary cache match failed');- // Start prerendering a page that attempts to access cache storage.- startPrerendering(`resources/cache-storage-access.https.html`);- const result = await gotMessage;+ const {exec} = await create_prerendered_page(t);+ const result = await exec(async cacheName => {+ const cache = await caches.open(cacheName);+ const match = await cache.match('cache.txt');+ return await match.text();+ }, [cacheName]); assert_equals( result, cacheText, 'prerendering page should be able to read from cache storage.');- await caches.delete(cacheName);-- bc.close(); }, 'prerendering page should be able to access cache storage') </script>
Let me analyze the code diff for potential security fixes: 1. Vulnerability Existed: yes Cross-origin Information Leak [testing/web-platform/tests/speculation-rules/prerender/cache-storage.https.html] [Lines 10-32] [Old Code] const bc = new BroadcastChannel('prerender-channel'); const gotMessage = new Promise(resolve => { bc.addEventListener('message', e => { resolve(e.data); }, { once: true }); }); ... startPrerendering(`resources/cache-storage-access.https.html`); const result = await gotMessage; [Fixed Code] const {exec} = await create_prerendered_page(t); const result = await exec(async cacheName => { const cache = await caches.open(cacheName); const match = await cache.match('cache.txt'); return await match.text(); }, [cacheName]); Additional Details: The old code used BroadcastChannel for communication between pages, which could potentially leak information across origins. The fixed code uses a more controlled execution environment through create_prerendered_page. 2. Vulnerability Existed: yes Cache Name Predictability [testing/web-platform/tests/speculation-rules/prerender/cache-storage.https.html] [Lines 10, 32] [Old Code] const cacheName = 'checkallowed'; ... await caches.delete(cacheName); [Fixed Code] const cacheName = token(); ... t.add_cleanup(() => caches.delete(cacheName)); Additional Details: The old code used a predictable cache name ('checkallowed') which could lead to cache collision or cache poisoning attacks. The fixed code uses a randomly generated token for the cache name and ensures proper cleanup. 3. Vulnerability Existed: not sure Resource Cleanup [testing/web-platform/tests/speculation-rules/prerender/cache-storage.https.html] [Lines 32] [Old Code] await caches.delete(cacheName); bc.close(); [Fixed Code] t.add_cleanup(() => caches.delete(cacheName)); Additional Details: The fixed code improves resource cleanup by using testharness's cleanup mechanism, but it's unclear if the old code's manual cleanup was actually vulnerable or just less robust.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/streams/piping/close-propagation-backward.any.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/streams/piping/close-propagation-backward.any.js@@ -1,4 +1,4 @@-// META: global=window,worker,jsshell+// META: global=window,worker // META: script=../resources/recording-streams.js 'use strict';
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability identified File: testing/web-platform/tests/streams/piping/close-propagation-backward.any.js Lines: 1 Old Code: `// META: global=window,worker,jsshell` Fixed Code: `// META: global=window,worker` Additional Details: The change removes 'jsshell' from the global environments where the test should run. This appears to be a test configuration change rather than a security fix. The modification suggests the test is no longer intended to run in jsshell environments, but this doesn't indicate any security vulnerability was present or fixed.
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/ch-unit-010.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-values/ch-unit-010.html@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/css-values-3/#font-relative-lengths"> <link rel="match" href="reference/ch-unit-009-ref.html">- <meta name="flags" content=""> <meta name="assert" content="In this test, the ch unit is the advance width measure of the 0 (ZERO, U+0030) glyph."> <style>
Analyzing the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-values/ch-unit-010.html [Lines 8] [Old Code] <meta name="flags" content=""> [Fixed Code] (line removed) Additional Details: - The change simply removes an empty meta tag for "flags", which appears to be a test configuration element rather than a security-related fix. - No security vulnerability is apparent in this change. - The modification seems to be a cleanup of test metadata rather than addressing any 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/devtools/client/inspector/markup/views/read-only-editor.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/client/inspector/markup/views/read-only-editor.js@@ -60,6 +60,18 @@ }, /**+ * Show overflow highlight if showOverflowHighlight is true, otherwise hide it.+ *+ * @param {Boolean} showOverflowHighlight+ */+ setOverflowHighlight: function(showOverflowHighlight) {+ this.container.tagState.classList.toggle(+ "overflow-causing-highlighted",+ showOverflowHighlight+ );+ },++ /** * Stub method for consistency with ElementEditor. */ getInfoAtNode: function() {
Based on the provided diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: no No specific vulnerability found [File] devtools/client/inspector/markup/views/read-only-editor.js [Lines] 60-68 [Old Code] (No previous implementation existed for this function) [Fixed Code] setOverflowHighlight: function(showOverflowHighlight) { this.container.tagState.classList.toggle( "overflow-causing-highlighted", showOverflowHighlight ); } The diff shows a new function being added rather than a security fix. The function `setOverflowHighlight` appears to be a new feature that toggles a CSS class for visual highlighting purposes, with no apparent security implications. There's no evidence of a vulnerability being fixed here - this is purely a new functionality addition. No security vulnerabilities were identified in this change. The modification appears to be a feature enhancement 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/css/css-values/q-unit-case-insensitivity-002.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-values/q-unit-case-insensitivity-002.html@@ -10,7 +10,6 @@ <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta content="This test checks that 'Q' unit is case-insensitive." name="assert">- <meta name="flags" content=""> <style> div#test-overlapping-green
Analysis of the code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-values/q-unit-case-insensitivity-002.html [Lines] 10 [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 appears to be a test file cleanup rather than a security fix - No known vulnerability is being addressed by this change - The modification doesn't introduce any new security concerns The diff shows no evidence of security vulnerabilities being fixed. The change is likely part of routine test file 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/text/2d.text.draw.baseline.top.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/text/2d.text.draw.baseline.top.worker.js@@ -13,8 +13,8 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); var f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts);@@ -27,12 +27,12 @@ ctx.fillStyle = '#0f0'; ctx.textBaseline = 'top'; ctx.fillText('CC', 0, 0);- _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-related changes. The changes appear to be purely variable renaming (from `offscreenCanvas` to `canvas`) and updating the corresponding references in the assertions. Here's my analysis: 1. Vulnerability Existed: no No Security Vulnerability Found [File] [Lines 13-14, 27-32] Old Code: ``` 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: ``` 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); ``` The changes are purely cosmetic/refactoring in nature and don't address any security vulnerabilities. The functionality remains exactly the same, only the variable name has been changed for consistency or clarity.
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/background-clip-padding-box-with-border-radius.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-backgrounds/background-clip-padding-box-with-border-radius.html@@ -7,7 +7,6 @@ <link rel="author" title="Lea Verou" href="http://lea.verou.me" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-clip" /> <link rel="help" href="http://www.w3.org/TR/css3-background/#corner-shaping" />-<meta name="flags" content="" /> <meta name="assert" content="Backgrounds clipped to the padding box should follow the padding box curve, which should be equal to the outer border radius minus the corresponding border thickness." /> <style> div {
Based on the provided diff, I'll analyze it for potential security vulnerabilities: 1. Vulnerability Existed: no No security vulnerability found [File] [Lines 7] [Old Code] <meta name="flags" content="" /> [Fixed Code] (line removed) Explanation: - The diff shows removal of an empty meta tag with name="flags" - This appears to be a test configuration cleanup rather than a security fix - Empty meta tags don't typically pose security risks - No known vulnerability is associated with this change - The change seems related to test file maintenance rather than security There are no other changes in the provided diff to analyze for security 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/browser/themes/linux/controlcenter/panel.css+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/browser/themes/linux/controlcenter/panel.css@@ -9,20 +9,10 @@ appearance: none; }-.identity-popup-expander:-moz-focusring,-.permission-popup-permission-remove-button:-moz-focusring {- outline: 1px -moz-dialogtext dotted;- outline-offset: -1px;-}- /* This overrides color: -moz-buttonhovertext from toolbarbutton.css */ #protections-popup toolbarbutton:not([disabled="true"]):hover, #protections-popup toolbarbutton:not([disabled="true"]):hover:active { color: inherit;-}--.protections-popup-tp-switch:-moz-focusring {- outline: var(--default-focusring); } #identity-popup[type="arrow"][side="top"],
Based on the provided CSS diff, I don't see any security vulnerabilities being fixed. The changes appear to be stylistic/visual adjustments rather than security-related fixes. Here's the analysis: Vulnerability Existed: no No security vulnerability found [File] browser/themes/linux/controlcenter/panel.css [Lines 9-20] [Old Code] .identity-popup-expander:-moz-focusring, .permission-popup-permission-remove-button:-moz-focusring { outline: 1px -moz-dialogtext dotted; outline-offset: -1px; } .protections-popup-tp-switch:-moz-focusring { outline: var(--default-focusring); } [Fixed Code] (removed these focus styling rules) The changes simply remove some focus ring styling rules (-moz-focusring related styles) which were likely deemed unnecessary or inconsistent with the new design. This doesn't appear to relate to any 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/toolkit/components/sessionstore/SessionStoreUtils.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/toolkit/components/sessionstore/SessionStoreUtils.cpp@@ -1196,7 +1196,6 @@ return Element::FromNodeOrNull(result->GetSingleNodeValue(rv)); }-MOZ_CAN_RUN_SCRIPT_BOUNDARY /* static */ bool SessionStoreUtils::RestoreFormData(const GlobalObject& aGlobal, Document& aDocument,@@ -1308,7 +1307,6 @@ } }-MOZ_CAN_RUN_SCRIPT /* static */ void SessionStoreUtils::RestoreFormData( Document& aDocument, const nsString& aInnerHTML,@@ -1456,7 +1454,6 @@ } }-MOZ_CAN_RUN_SCRIPT already_AddRefed<nsISessionStoreRestoreData> SessionStoreUtils::ConstructSessionStoreRestoreData( const GlobalObject& aGlobal) {@@ -1465,7 +1462,6 @@ } /* static */-MOZ_CAN_RUN_SCRIPT already_AddRefed<Promise> SessionStoreUtils::InitializeRestore( const GlobalObject& aGlobal, CanonicalBrowsingContext& aContext, nsISessionStoreRestoreData* aData, ErrorResult& aError) {
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure [Removal of MOZ_CAN_RUN_SCRIPT annotations] [SessionStoreUtils.cpp] [Lines 1196, 1308, 1456, 1465] [Old Code with MOZ_CAN_RUN_SCRIPT annotations] [Fixed Code without MOZ_CAN_RUN_SCRIPT annotations] Additional details: - The diff shows removal of MOZ_CAN_RUN_SCRIPT and MOZ_CAN_RUN_SCRIPT_BOUNDARY annotations from several functions. These annotations are Mozilla-specific macros that indicate whether a function can run script (potentially executing JavaScript). - While this change might affect script safety, it's not clear if this was fixing a security vulnerability or just a code style/optimization change. - Without more context about why these annotations were removed and what potential security implications they had, we can't definitively say this was a security fix. - The changes could potentially relate to script execution safety, but we'd need more information about the original purpose of these annotations in this context to determine if their removal fixes a 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/testing/web-platform/tests/html/cross-origin-opener-policy/coep-blob-popup.https.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/cross-origin-opener-policy/coep-blob-popup.https.html@@ -39,9 +39,9 @@ assert_true(data.sameOriginNoCORPSuccess, "Same-origin without CORP did not succeed"); assert_true(data.crossOriginNoCORPFailure, "Cross-origin without CORP did not fail"); if (type === "<a rel=noopener>") {- assert_false(data.opener);+ assert_false(data.opener, 'opener'); } else {- assert_true(data.opener);+ assert_true(data.opener, 'opener'); } resolve(); });
Let me analyze the code diff according to the provided format: Vulnerability Existed: no [Improved Assertion Messaging] [testing/web-platform/tests/html/cross-origin-opener-policy/coep-blob-popup.https.html] [Lines 39-44] [Old Code] if (type === "<a rel=noopener>") { assert_false(data.opener); } else { assert_true(data.opener); } [Fixed Code] if (type === "<a rel=noopener>") { assert_false(data.opener, 'opener'); } else { assert_true(data.opener, 'opener'); } Additional Details: - This change doesn't appear to fix a security vulnerability, but rather improves test assertions by adding descriptive messages. - The modification adds error messages ('opener') to assert_false and assert_true calls, which helps with test debugging but doesn't relate to security. - The change is in a test file (coep-blob-popup.https.html) and affects test assertions rather than production code. - No security-related behavior is being modified 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/testing/web-platform/tests/css/mediaqueries/aspect-ratio-002.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/mediaqueries/aspect-ratio-002.html@@ -5,7 +5,6 @@ <link name="author" title="Xin Liu" href="mailto:[email protected]"> <link rel="help" title="4.6. aspect-ratio" href="http://www.w3.org/TR/css3-mediaqueries/#aspect-ratio"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht">-<meta name="flags" content=""> <meta name="assert" content="The 'aspect-ratio' property with prefix 'min' set '0/0' (which is converted into '1/0') is infinite that means the style sheet specified by 'min-aspect-ratio' will not be applied."> <style> div {
Analysis of the provided code diff: 1. Vulnerability Existed: no No security vulnerability found in this diff. The change simply removes an empty "flags" meta tag which doesn't have any security implications. 2. Vulnerability Existed: no No vulnerability name [File] testing/web-platform/tests/css/mediaqueries/aspect-ratio-002.html [Lines] 5 Old Code: <meta name="flags" content=""> Fixed Code: (removed line) Additional Details: The diff shows only a minor HTML cleanup change where an empty meta tag was removed. This doesn't appear to be related to any security fixes. The file is a test case for CSS media query behavior regarding aspect ratio calculations. The change doesn't affect any security-relevant 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.