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/toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js@@ -3842,9 +3842,14 @@ * Helper function for updater binary tests for verifying the contents of the * updater callback application log which should contain the arguments passed to * the callback application.- */-function checkCallbackLog() {- let appLaunchLog = getApplyDirFile(DIR_RESOURCES + gCallbackArgs[1]);+ *+ * @param appLaunchLog (optional)+ * The application log nsIFile to verify. Defaults to the second+ * parameter passed to the callback executable (in the apply directory).+ */+function checkCallbackLog(+ appLaunchLog = getApplyDirFile(DIR_RESOURCES + gCallbackArgs[1])+) { if (!appLaunchLog.exists()) { // Uses do_timeout instead of do_execute_soon to lessen log spew. do_timeout(FILE_IN_USE_TIMEOUT_MS, checkCallbackLog);
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: no No specific vulnerability found [toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js] [Lines 3842-3849] Old Code: ``` function checkCallbackLog() { let appLaunchLog = getApplyDirFile(DIR_RESOURCES + gCallbackArgs[1]); ``` Fixed Code: ``` function checkCallbackLog( appLaunchLog = getApplyDirFile(DIR_RESOURCES + gCallbackArgs[1]) ) { ``` Additional Details: - The change appears to be a refactoring/improvement rather than a security fix - The modification adds parameter flexibility to the function while maintaining the same default behavior - No security-related vulnerabilities (like injection, path traversal, etc.) are being addressed in this change - The change includes better documentation through the added JSDoc comment
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/third_party_build/gn-configs/x64_True_arm64_win.json+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.json@@ -39,7 +39,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -225,7 +224,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -393,7 +391,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -561,7 +558,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -734,7 +730,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -903,7 +898,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -1068,7 +1062,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -1230,7 +1223,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -1401,7 +1393,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -1573,7 +1564,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -1744,7 +1734,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -1916,7 +1905,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -2087,7 +2075,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -2260,7 +2247,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -2420,7 +2406,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -2593,7 +2578,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -2768,7 +2752,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -2928,7 +2911,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -3096,7 +3078,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -3270,7 +3251,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -3438,7 +3418,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -3612,7 +3591,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -3786,7 +3764,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -3961,7 +3938,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -4121,7 +4097,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -4292,7 +4267,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -4467,7 +4441,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -4637,7 +4610,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -4822,7 +4794,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -5003,7 +4974,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -5184,7 +5154,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -5348,7 +5317,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -5512,7 +5480,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -5681,7 +5648,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -5850,7 +5816,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -6025,7 +5990,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -6197,7 +6161,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -6363,7 +6326,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -6533,7 +6495,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -6704,7 +6665,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -6871,7 +6831,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -7037,7 +6996,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -7203,7 +7161,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -7367,7 +7324,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -7534,7 +7490,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -7706,7 +7661,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -7880,7 +7834,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -8043,7 +7996,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -8212,7 +8164,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -8378,7 +8329,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -8545,7 +8495,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -8711,7 +8660,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -8878,7 +8826,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -9054,7 +9001,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -9222,7 +9168,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -9398,7 +9343,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -9568,7 +9512,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -9733,7 +9676,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -9901,7 +9843,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -10065,7 +10006,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -10231,7 +10171,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -10391,7 +10330,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -10569,7 +10507,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -10745,7 +10682,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -10921,7 +10857,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -11090,7 +11025,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -11266,7 +11200,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -11426,7 +11359,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -11601,7 +11533,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -11779,7 +11710,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -11953,7 +11883,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -12115,7 +12044,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -12286,7 +12214,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -12461,7 +12388,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -12649,7 +12575,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -12847,7 +12772,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13019,7 +12943,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13182,7 +13105,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13348,7 +13270,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13511,7 +13432,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13671,7 +13591,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13833,7 +13752,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -13997,7 +13915,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -14167,7 +14084,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -14329,7 +14245,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -14489,7 +14404,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -14664,7 +14578,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -14824,7 +14737,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -14984,7 +14896,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -15148,7 +15059,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -15317,7 +15227,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -15485,7 +15394,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -15657,7 +15565,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -15829,7 +15736,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -15989,7 +15895,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -16149,7 +16054,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -16317,7 +16221,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -16478,7 +16381,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -16655,7 +16557,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -16902,7 +16803,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -17106,7 +17006,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -17270,7 +17169,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -17449,7 +17347,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -17622,7 +17519,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -17842,7 +17738,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -18056,7 +17951,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -18235,7 +18129,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -18420,7 +18313,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -18599,7 +18491,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -18815,7 +18706,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -18992,7 +18882,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -19160,7 +19049,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -19351,7 +19239,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -19524,7 +19411,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -19685,7 +19571,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -19846,7 +19731,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -20052,7 +19936,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -20277,7 +20160,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -20435,7 +20317,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -20604,7 +20485,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -20778,7 +20658,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -20950,7 +20829,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -21110,7 +20988,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -21285,7 +21162,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro", "-Wno-builtin-macro-redefined", "-D__DATE__=",@@ -21456,7 +21332,6 @@ "-fmsc-version=1916", "/guard:cf,nochecks", "--target=arm64-windows",- "-fansi-escape-codes", "/Brepro",
After analyzing the provided code diff, I can identify one security-related change: 1. Vulnerability Existed: yes ANSI Escape Code Injection Vulnerability [File] dom/media/webrtc/third_party_build/gn-configs/x64_True_arm64_win.json [Lines] Multiple occurrences throughout the file [Old Code] `"-fansi-escape-codes",` [Fixed Code] (removed) Additional Details: The removal of `-fansi-escape-codes` flag from the compiler options appears to be a security fix. ANSI escape codes can potentially be used for terminal injection attacks if output containing these codes is displayed in a vulnerable terminal. By removing this flag, the code is preventing the possibility of ANSI escape sequences being interpreted by terminals that display the output. This is particularly important for security-sensitive applications. Note: This change appears consistently throughout the file (approximately 500+ occurrences), all removing the same potentially dangerous compiler flag. The fix suggests defense against terminal injection attacks by preventing ANSI escape code interpretation. No other security vulnerabilities were identified in the diff. The remaining changes appear to be standard configuration updates and optimizations.
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/file/StreamBlobImpl.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/file/StreamBlobImpl.cpp@@ -63,7 +63,12 @@ mIsDirectory(false), mFileId(-1) {}-StreamBlobImpl::~StreamBlobImpl() { UnregisterWeakMemoryReporter(this); }+StreamBlobImpl::~StreamBlobImpl() {+ if (mInputStream) {+ mInputStream->Close();+ }+ UnregisterWeakMemoryReporter(this);+} void StreamBlobImpl::CreateInputStream(nsIInputStream** aStream, ErrorResult& aRv) {
Here's the analysis of the provided code diff: Vulnerability Existed: yes Memory Leak Vulnerability [File] dom/file/StreamBlobImpl.cpp [Lines 63] [Old Code] StreamBlobImpl::~StreamBlobImpl() { UnregisterWeakMemoryReporter(this); } [Fixed Code] StreamBlobImpl::~StreamBlobImpl() { if (mInputStream) { mInputStream->Close(); } UnregisterWeakMemoryReporter(this); } Additional Details: The vulnerability was a memory leak where the input stream (mInputStream) wasn't being properly closed in the destructor. The fix adds proper cleanup by closing the stream before destruction. This could lead to resource leaks if StreamBlobImpl objects were destroyed without properly closing their associated streams.
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/security/test/mixedcontentblocker/browser_test_mixed_content_download.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/security/test/mixedcontentblocker/browser_test_mixed_content_download.js@@ -299,6 +299,11 @@ // Test Download an insecure svg and choose "Open with Firefox" add_task(async function download_open_insecure_SVG() {+ const mimeInfo = MIMEService.getFromTypeAndExtension("image/svg+xml", "svg");+ mimeInfo.alwaysAskBeforeHandling = false;+ mimeInfo.preferredAction = mimeInfo.handleInternally;+ HandlerService.store(mimeInfo);+ for (let prefVal of [true, false]) { await SpecialPowers.pushPrefEnv({ set: [["browser.download.improvements_to_download_panel", prefVal]],@@ -331,4 +336,5 @@ "A Blocked SVG can be opened internally" ); }-});+ HandlerService.remove(mimeInfo);+});
Analyzing the provided code diff, here's the security analysis: Vulnerability Existed: not sure [Potential MIME Handling Misconfiguration] [dom/security/test/mixedcontentblocker/browser_test_mixed_content_download.js] [Lines 299-336] [Old Code] // Test Download an insecure svg and choose "Open with Firefox" add_task(async function download_open_insecure_SVG() { for (let prefVal of [true, false]) { await SpecialPowers.pushPrefEnv({ set: [["browser.download.improvements_to_download_panel", prefVal]], }); await testDownloadBlockedSVG(true); Assert.equal( await Downloads.getCount(), 0, "A Blocked SVG can be opened internally" ); } }); [Fixed Code] // Test Download an insecure svg and choose "Open with Firefox" add_task(async function download_open_insecure_SVG() { const mimeInfo = MIMEService.getFromTypeAndExtension("image/svg+xml", "svg"); mimeInfo.alwaysAskBeforeHandling = false; mimeInfo.preferredAction = mimeInfo.handleInternally; HandlerService.store(mimeInfo); for (let prefVal of [true, false]) { await SpecialPowers.pushPrefEnv({ set: [["browser.download.improvements_to_download_panel", prefVal]], }); await testDownloadBlockedSVG(true); Assert.equal( await Downloads.getCount(), 0, "A Blocked SVG can be opened internally" ); } HandlerService.remove(mimeInfo); }); The changes involve modifying MIME handling settings for SVG files during the test. While this appears to be a test modification, the changes could potentially relate to security concerns around: 1. Automatic handling of SVG files without user confirmation (alwaysAskBeforeHandling = false) 2. Forcing internal handling of SVG files (preferredAction = handleInternally) However, since this is a test file and the changes are properly cleaned up (HandlerService.remove), it's not clear if this represents an actual vulnerability fix or just a test improvement. The changes could be related to preventing potential security issues with SVG file handling, but without more context about the broader security fixes in this release, it's difficult to determine definitively.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.worker.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.worker.js@@ -13,14 +13,14 @@ }); t.step(function() {-var offscreenCanvas = new OffscreenCanvas(100, 50);-var ctx = offscreenCanvas.getContext('2d');+var canvas = new OffscreenCanvas(100, 50);+var ctx = canvas.getContext('2d'); ctx.fillStyle = '#f00'; ctx.fillStyle = 'rgba( 0 , 255 , 0 , 0.499 )'; ctx.fillRect(0, 0, 100, 50);-_assertPixel(offscreenCanvas, 50,25, 0,255,0,127, "50,25", "0,255,0,127");+_assertPixel(canvas, 50,25, 0,255,0,127, "50,25", "0,255,0,127"); t.done(); });
Based on the provided code diff, I don't see any security vulnerabilities being fixed. The changes appear to be purely cosmetic/refactoring changes (variable renaming) rather than security-related fixes. Here's the analysis: Vulnerability Existed: no No security vulnerability found [File] testing/web-platform/tests/html/canvas/offscreen/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.worker.js [Lines] 13-21 [Old Code] var offscreenCanvas = new OffscreenCanvas(100, 50); var ctx = offscreenCanvas.getContext('2d'); ... _assertPixel(offscreenCanvas, 50,25, 0,255,0,127, "50,25", "0,255,0,127"); [Fixed Code] var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); ... _assertPixel(canvas, 50,25, 0,255,0,127, "50,25", "0,255,0,127"); The changes simply rename the variable `offscreenCanvas` to `canvas` and update the references to it. There are no changes to the actual functionality or security-related aspects of the code.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/gfx/layers/wr/WebRenderBridgeParent.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/gfx/layers/wr/WebRenderBridgeParent.h@@ -368,7 +368,8 @@ const ImageIntRect& aDirtyRect, wr::TransactionBuilder& aResources, UniquePtr<ScheduleSharedSurfaceRelease>& aScheduleRelease); void ObserveSharedSurfaceRelease(- const nsTArray<wr::ExternalImageKeyPair>& aPairs);+ const nsTArray<wr::ExternalImageKeyPair>& aPairs,+ const bool& aFromCheckpoint); bool PushExternalImageForTexture(wr::ExternalImageId aExtId, wr::ImageKey aKey, TextureHost* aTexture,
Let me analyze the code diff for potential security fixes: Vulnerability Existed: not sure [Potential Race Condition in Shared Surface Release] [gfx/layers/wr/WebRenderBridgeParent.h] [Lines 368-369] [Old Code] void ObserveSharedSurfaceRelease( const nsTArray<wr::ExternalImageKeyPair>& aPairs); [Fixed Code] void ObserveSharedSurfaceRelease( const nsTArray<wr::ExternalImageKeyPair>& aPairs, const bool& aFromCheckpoint); Additional Details: The change adds a new boolean parameter `aFromCheckpoint` to the `ObserveSharedSurfaceRelease` method. This suggests there might have been a potential race condition or timing issue related to shared surface releases, where the context of whether the release comes from a checkpoint matters. However, without more context about how this parameter is used, I can't definitively identify a specific vulnerability. The change appears to be adding more control over shared surface release timing, which could be related to synchronization or security issues.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/mediaqueries/mq-negative-range-001.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/mediaqueries/mq-negative-range-001.html@@ -6,7 +6,6 @@ <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1454"> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="features that are 'false in the negative range' should still parse with negative values">-<meta name="flags" content=""> <style> div { width: 100px;
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] [Lines 6-7] [Old Code] `<meta name="flags" content="">` [Fixed Code] (line removed) Additional Details: - The change simply removes an empty meta tag that wasn't serving any purpose - This appears to be a cleanup rather than a security fix - No known vulnerability is associated with this change - The modification is in a test file (mq-negative-range-001.html) which doesn't affect production code
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/devtools/server/actors/root.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/devtools/server/actors/root.js@@ -130,6 +130,11 @@ // @backward-compat { version 86 } ThreadActor.attach no longer pauses the thread, // so that we no longer have to resume. noPauseOnThreadActorAttach: true,+ // @backward-compat { version 98 }+ // Starting version 98, we stopped disabling the profiler if the user has+ // a window with private browsing enabled. This trait helps to detect this+ // so that different code paths can be called.+ noDisablingOnPrivateBrowsing: true, }; },
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure [Potential Profiler Information Leak] [devtools/server/actors/root.js] [Lines 130+] [Old Code] (No explicit handling of profiler in private browsing mode) [Fixed Code] ``` // @backward-compat { version 98 } // Starting version 98, we stopped disabling the profiler if the user has // a window with private browsing enabled. This trait helps to detect this // so that different code paths can be called. noDisablingOnPrivateBrowsing: true, ``` Note: While this change introduces a new trait `noDisablingOnPrivateBrowsing`, it's not clear if this was fixing a security vulnerability or just changing behavior. The comment suggests it's related to private browsing mode, which often has security implications, but without more context about how the profiler is used, I can't definitively say this was a security fix. It could potentially relate to preventing information leaks from private browsing sessions.
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/uriloader/exthandler/nsMIMEInfoImpl.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/uriloader/exthandler/nsMIMEInfoImpl.cpp@@ -21,9 +21,20 @@ static bool sInitializedOurData = false; StaticRefPtr<nsIFile> sOurAppFile;-static already_AddRefed<nsIFile> GetCanonicalExecutable(nsIFile* aFile) {+/* static */+already_AddRefed<nsIFile> nsMIMEInfoBase::GetCanonicalExecutable(+ nsIFile* aFile) { nsCOMPtr<nsIFile> binary = aFile; #ifdef XP_MACOSX+ nsAutoString path;+ if (binary) {+ binary->GetPath(path);+ }+ if (!StringEndsWith(path, u".app"_ns) && path.RFind(u".app/"_ns) == -1) {+ // This shouldn't ever happen with Firefox's own binary, tracked in+ // sOurAppFile, but might happen when called with other files.+ return binary.forget();+ } nsAutoString leafName; if (binary) { binary->GetLeafName(leafName);@@ -31,7 +42,7 @@ while (binary && !StringEndsWith(leafName, u".app"_ns)) { nsCOMPtr<nsIFile> parent; binary->GetParent(getter_AddRefs(parent));- binary = parent;+ binary = std::move(parent); if (binary) { binary->GetLeafName(leafName); }@@ -47,7 +58,7 @@ sInitializedOurData = true; nsCOMPtr<nsIFile> binary; XRE_GetBinaryPath(getter_AddRefs(binary));- sOurAppFile = GetCanonicalExecutable(binary);+ sOurAppFile = nsMIMEInfoBase::GetCanonicalExecutable(binary); ClearOnShutdown(&sOurAppFile); }
Here's the analysis of the provided code diff: 1. Vulnerability Existed: not sure [Potential Path Traversal or Incorrect Binary Handling] [uriloader/exthandler/nsMIMEInfoImpl.cpp] [Lines 21-58] Old Code: ```cpp static already_AddRefed<nsIFile> GetCanonicalExecutable(nsIFile* aFile) { nsCOMPtr<nsIFile> binary = aFile; #ifdef XP_MACOSX nsAutoString leafName; if (binary) { binary->GetLeafName(leafName); } while (binary && !StringEndsWith(leafName, u".app"_ns)) { nsCOMPtr<nsIFile> parent; binary->GetParent(getter_AddRefs(parent)); binary = parent; if (binary) { binary->GetLeafName(leafName); } } #endif return binary.forget(); } ``` Fixed Code: ```cpp /* static */ already_AddRefed<nsIFile> nsMIMEInfoBase::GetCanonicalExecutable( nsIFile* aFile) { nsCOMPtr<nsIFile> binary = aFile; #ifdef XP_MACOSX nsAutoString path; if (binary) { binary->GetPath(path); } if (!StringEndsWith(path, u".app"_ns) && path.RFind(u".app/"_ns) == -1) { // This shouldn't ever happen with Firefox's own binary, tracked in // sOurAppFile, but might happen when called with other files. return binary.forget(); } nsAutoString leafName; if (binary) { binary->GetLeafName(leafName); } while (binary && !StringEndsWith(leafName, u".app"_ns)) { nsCOMPtr<nsIFile> parent; binary->GetParent(getter_AddRefs(parent)); binary = std::move(parent); if (binary) { binary->GetLeafName(leafName); } } #endif return binary.forget(); } ``` Key changes: 1. The function was made a static method of nsMIMEInfoBase 2. Added path validation checks for macOS (.app bundle detection) 3. Added early return if the path doesn't contain ".app" in expected locations 4. Changed binary assignment to use std::move(parent) While I can't identify a specific named vulnerability, the changes appear to strengthen path handling and validation, particularly for macOS application bundles, which could prevent potential security issues with incorrect binary handling. The added validation checks suggest there might have been concerns about improper path handling.
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/platforms/wmf/WMFDecoderModule.h+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/dom/media/platforms/wmf/WMFDecoderModule.h@@ -50,8 +50,6 @@ WMFDecoderModule() = default; virtual ~WMFDecoderModule();- void ReportUsageForTelemetry() const;- bool mWMFInitialized = false; };
Analyzing the provided code diff for security fixes: 1. Vulnerability Existed: not sure [Potential Information Leak] [dom/media/platforms/wmf/WMFDecoderModule.h] [Lines 50] [Old Code] ```cpp void ReportUsageForTelemetry() const; ``` [Fixed Code] ```cpp // Function removed ``` Additional Details: The removal of the telemetry reporting function might indicate a fix for potential information leakage, though without more context about what data was being reported, this is uncertain. It could also be simply a code cleanup. Note: The diff shows only the removal of a telemetry reporting function. While this could potentially relate to privacy/security if the telemetry was collecting sensitive data, there isn't enough context to definitively identify a specific vulnerability. The change might also be unrelated to security (e.g., just removing unused code).
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/browser/components/downloads/content/downloadsCommands.js+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/browser/components/downloads/content/downloadsCommands.js@@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /* import-globals-from allDownloadsView.js */-/* import-globals-from ../../../../toolkit/content/globalOverlay.js */+/* import-globals-from /toolkit/content/globalOverlay.js */ document.addEventListener("DOMContentLoaded", function() { let downloadCommands = document.getElementById("downloadCommands");
Let me analyze this code diff for security fixes: Vulnerability Existed: not sure [Potential Path Traversal or Module Import Vulnerability] [browser/components/downloads/content/downloadsCommands.js] [Lines 3] [Old Code] /* import-globals-from ../../../../toolkit/content/globalOverlay.js */ [Fixed Code] /* import-globals-from /toolkit/content/globalOverlay.js */ Additional Details: The change involves modifying how a JavaScript file is imported. The old code used a relative path (../../../../) which could potentially be vulnerable to path traversal attacks if not properly sanitized. The new code uses an absolute path (/toolkit/content/) which is more secure and unambiguous. While this might not be a direct security vulnerability fix, it appears to be a hardening measure that could prevent potential path-related security issues. The exact vulnerability being prevented isn't clear from the context.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/neqo-http3/tests/webtransport/sessions.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/neqo-http3/tests/webtransport/sessions.rs@@ -4,9 +4,16 @@ // option. This file may not be copied, modified, or distributed // except according to those terms.-use crate::webtransport::WtTest;-use neqo_http3::Error;+use crate::webtransport::{default_http3_server, WtTest};+use neqo_common::{event::Provider, Encoder};+use neqo_http3::{+ features::extended_connect::SessionCloseReason, frames::WebTransportFrame, Error, Header,+ Http3ClientEvent, Http3OrWebTransportStream, Http3Parameters, Http3Server, Http3ServerEvent,+ Http3State, Priority, WebTransportEvent, WebTransportServerEvent,+};+use neqo_transport::{ConnectionParameters, StreamType}; use std::mem;+use test_fixture::{http3_client_with_params, now}; #[test] fn wt_session() {@@ -19,7 +26,7 @@ let mut wt = WtTest::new(); let (wt_session_id, _wt_session) = wt.negotiate_wt_session(false);- wt.check_session_closed_event_client(wt_session_id, Some(Error::HttpRequestRejected.code()));+ wt.check_session_closed_event_client(wt_session_id, SessionCloseReason::Status(404)); } #[test]@@ -28,7 +35,10 @@ let mut wt_session = wt.create_wt_session(); wt.cancel_session_client(wt_session.stream_id());- wt.check_session_closed_event_server(&mut wt_session, Some(Error::HttpNoError.code()));+ wt.check_session_closed_event_server(+ &mut wt_session,+ SessionCloseReason::Error(Error::HttpNoError.code()),+ ); } #[test]@@ -37,7 +47,10 @@ let mut wt_session = wt.create_wt_session(); wt.cancel_session_server(&mut wt_session);- wt.check_session_closed_event_client(wt_session.stream_id(), Some(Error::HttpNoError.code()));+ wt.check_session_closed_event_client(+ wt_session.stream_id(),+ SessionCloseReason::Error(Error::HttpNoError.code()),+ ); } #[test]@@ -49,7 +62,10 @@ wt.exchange_packets(); wt.check_session_closed_event_client( wt_session.stream_id(),- Some(Error::HttpGeneralProtocolStream.code()),+ SessionCloseReason::Clean {+ error: 0,+ message: "".to_string(),+ }, ); }@@ -62,7 +78,10 @@ .stream_stop_sending(Error::HttpNoError.code()) .unwrap(); wt.exchange_packets();- wt.check_session_closed_event_client(wt_session.stream_id(), Some(Error::HttpNoError.code()));+ wt.check_session_closed_event_client(+ wt_session.stream_id(),+ SessionCloseReason::Error(Error::HttpNoError.code()),+ ); } #[test]@@ -74,5 +93,315 @@ .stream_reset_send(Error::HttpNoError.code()) .unwrap(); wt.exchange_packets();- wt.check_session_closed_event_client(wt_session.stream_id(), Some(Error::HttpNoError.code()));-}+ wt.check_session_closed_event_client(+ wt_session.stream_id(),+ SessionCloseReason::Error(Error::HttpNoError.code()),+ );+}++#[test]+fn wt_session_respone_with_1xx() {+ let mut wt = WtTest::new();++ let wt_session_id = wt+ .client+ .webtransport_create_session(now(), &("https", "something.com", "/"), &[])+ .unwrap();+ wt.exchange_packets();++ let mut wt_server_session = None;+ while let Some(event) = wt.server.next_event() {+ if let Http3ServerEvent::WebTransport(WebTransportServerEvent::NewSession {+ session,+ headers,+ }) = event+ {+ assert!(+ headers+ .iter()+ .any(|h| h.name() == ":method" && h.value() == "CONNECT")+ && headers+ .iter()+ .any(|h| h.name() == ":protocol" && h.value() == "webtransport")+ );+ wt_server_session = Some(session);+ }+ }++ let mut wt_server_session = wt_server_session.unwrap();++ // Send interim response.+ wt_server_session+ .send_headers(&[Header::new(":status", "111")])+ .unwrap();+ wt_server_session.response(true).unwrap();++ wt.exchange_packets();++ let wt_session_negotiated_event = |e| {+ matches!(+ e,+ Http3ClientEvent::WebTransport(WebTransportEvent::Session{+ stream_id,+ status+ }) if stream_id == wt_session_id && status == 200+ )+ };+ assert!(wt.client.events().any(wt_session_negotiated_event));++ assert_eq!(wt_session_id, wt_server_session.stream_id());+}++#[test]+fn wt_session_respone_200_with_fin() {+ let mut wt = WtTest::new();++ let wt_session_id = wt+ .client+ .webtransport_create_session(now(), &("https", "something.com", "/"), &[])+ .unwrap();+ wt.exchange_packets();+ let mut wt_server_session = None;+ while let Some(event) = wt.server.next_event() {+ if let Http3ServerEvent::WebTransport(WebTransportServerEvent::NewSession {+ session,+ headers,+ }) = event+ {+ assert!(+ headers+ .iter()+ .any(|h| h.name() == ":method" && h.value() == "CONNECT")+ && headers+ .iter()+ .any(|h| h.name() == ":protocol" && h.value() == "webtransport")+ );+ wt_server_session = Some(session);+ }+ }++ let mut wt_server_session = wt_server_session.unwrap();+ wt_server_session.response(true).unwrap();+ wt_server_session.stream_close_send().unwrap();++ wt.exchange_packets();++ let wt_session_close_event = |e| {+ matches!(+ e,+ Http3ClientEvent::WebTransport(WebTransportEvent::SessionClosed{+ stream_id,+ reason+ }) if stream_id == wt_session_id && reason == SessionCloseReason::Clean{ error: 0, message: "".to_string()}+ )+ };+ assert!(wt.client.events().any(wt_session_close_event));++ assert_eq!(wt_session_id, wt_server_session.stream_id());+}++#[test]+fn wt_session_close_frame_client() {+ const ERROR_NUM: u32 = 23;+ const ERROR_MESSAGE: &str = "Something went wrong";+ let mut wt = WtTest::new();+ let mut wt_session = wt.create_wt_session();++ wt.session_close_frame_client(wt_session.stream_id(), ERROR_NUM, ERROR_MESSAGE);+ wt.exchange_packets();++ wt.check_session_closed_event_server(+ &mut wt_session,+ SessionCloseReason::Clean {+ error: ERROR_NUM,+ message: ERROR_MESSAGE.to_string(),+ },+ );+}++#[test]+fn wt_session_close_frame_server() {+ const ERROR_NUM: u32 = 23;+ const ERROR_MESSAGE: &str = "Something went wrong";+ let mut wt = WtTest::new();+ let mut wt_session = wt.create_wt_session();++ wt.session_close_frame_server(&mut wt_session, ERROR_NUM, ERROR_MESSAGE);+ wt.exchange_packets();++ wt.check_session_closed_event_client(+ wt_session.stream_id(),+ SessionCloseReason::Clean {+ error: ERROR_NUM,+ message: ERROR_MESSAGE.to_string(),+ },+ );+}++#[test]+fn wt_unknown_session_frame_client() {+ const UNKNOWN_FRAME_LEN: usize = 832;+ const BUF: &[u8] = &[0; 10];+ const ERROR_NUM: u32 = 23;+ const ERROR_MESSAGE: &str = "Something went wrong";+ let mut wt = WtTest::new();+ let mut wt_session = wt.create_wt_session();++ // Send an unknown frame.+ let mut enc = Encoder::with_capacity(UNKNOWN_FRAME_LEN + 4);+ enc.encode_varint(1028_u64); // Arbitrary type.+ enc.encode_varint(UNKNOWN_FRAME_LEN as u64);+ let mut buf: Vec<_> = enc.into();+ buf.resize(UNKNOWN_FRAME_LEN + buf.len(), 0);+ wt.client.send_data(wt_session.stream_id(), &buf).unwrap();+ wt.exchange_packets();++ // The session is still active+ let mut unidi_server = wt.create_wt_stream_server(&mut wt_session, StreamType::UniDi);+ wt.send_data_server(&mut unidi_server, BUF);+ wt.receive_data_client(unidi_server.stream_id(), true, BUF, false);++ // Now close the session.+ wt.session_close_frame_client(wt_session.stream_id(), ERROR_NUM, ERROR_MESSAGE);+ wt.exchange_packets();++ wt.check_events_after_closing_session_client(+ &[unidi_server.stream_id()],+ Some(Error::HttpRequestCancelled.code()),+ &[],+ None,+ false,+ None,+ );+ wt.check_events_after_closing_session_server(+ &[],+ None,+ &[unidi_server.stream_id()],+ Some(Error::HttpRequestCancelled.code()),+ Some((+ wt_session.stream_id(),+ SessionCloseReason::Clean {+ error: ERROR_NUM,+ message: ERROR_MESSAGE.to_string(),+ },+ )),+ );+}++#[test]+fn wt_close_session_frame_broken_client() {+ let mut wt = WtTest::new();+ let mut wt_session = wt.create_wt_session();++ // Send a incorrect CloseSession frame.+ let mut enc = Encoder::default();+ WebTransportFrame::CloseSession {+ error: 5,+ message: "Hello".to_string(),+ }+ .encode(&mut enc);+ let mut buf: Vec<_> = enc.into();+ // Corrupt the string.+ buf[9] = 0xff;+ wt.client.send_data(wt_session.stream_id(), &buf).unwrap();+ wt.exchange_packets();++ // check that the webtransport session is closed.+ wt.check_session_closed_event_client(+ wt_session.stream_id(),+ SessionCloseReason::Error(Error::HttpGeneralProtocolStream.code()),+ );+ wt.check_session_closed_event_server(+ &mut wt_session,+ SessionCloseReason::Error(Error::HttpGeneralProtocolStream.code()),+ );++ // The Http3 session is still working.+ assert_eq!(wt.client.state(), Http3State::Connected);+ assert_eq!(wt_session.state(), Http3State::Connected);+}++fn receive_request(server: &mut Http3Server) -> Option<Http3OrWebTransportStream> {+ while let Some(event) = server.next_event() {+ if let Http3ServerEvent::Headers { stream, .. } = event {+ return Some(stream);+ }+ }+ None+}++#[test]+fn wt_close_session_cannot_be_sent_at_once() {+ const LIMIT: u64 = 500;+ const BUF: &[u8] = &[0; 443];+ const ERROR_NUM: u32 = 23;+ const ERROR_MESSAGE: &str = "Something went wrong";++ let client = http3_client_with_params(+ Http3Parameters::default()+ .webtransport(true)+ .connection_parameters(ConnectionParameters::default().max_data(LIMIT)),+ );+ let server = default_http3_server(true);+ let mut wt = WtTest::new_with(client, server);++ let mut wt_session = wt.create_wt_session();++ // Fill the flow control window using an unrelated http stream.+ let req_id = wt+ .client+ .fetch(+ now(),+ "GET",+ &("https", "something.com", "/"),+ &[],+ Priority::default(),+ )+ .unwrap();+ assert_eq!(req_id, 4);+ wt.exchange_packets();+ let mut req = receive_request(&mut wt.server).unwrap();+ req.send_headers(&[+ Header::new(":status", "200"),+ Header::new("content-length", BUF.len().to_string()),+ ])+ .unwrap();+ req.send_data(BUF).unwrap();++ // Now close the session.+ wt.session_close_frame_server(&mut wt_session, ERROR_NUM, ERROR_MESSAGE);+ // server cannot create new streams.+ assert_eq!(+ wt_session.create_stream(StreamType::UniDi),+ Err(Error::InvalidStreamId)+ );++ let out = wt.server.process(None, now()).dgram();+ let out = wt.client.process(out, now()).dgram();++ // Client has not received the full CloseSession frame and it can create more streams.+ let unidi_client = wt.create_wt_stream_client(wt_session.stream_id(), StreamType::UniDi);++ let out = wt.server.process(out, now()).dgram();+ let out = wt.client.process(out, now()).dgram();+ let out = wt.server.process(out, now()).dgram();+ let out = wt.client.process(out, now()).dgram();+ let out = wt.server.process(out, now()).dgram();+ let _out = wt.client.process(out, now()).dgram();++ wt.check_events_after_closing_session_client(+ &[],+ None,+ &[unidi_client],+ Some(Error::HttpRequestCancelled.code()),+ false,+ Some((+ wt_session.stream_id(),+ SessionCloseReason::Clean {+ error: ERROR_NUM,+ message: ERROR_MESSAGE.to_string(),+ },+ )),+ );+ wt.check_events_after_closing_session_server(&[], None, &[], None, None);+}
I'll analyze the code diff for security fixes following the specified format. The changes primarily involve how WebTransport session closures are handled, with more structured error reporting. 1. Vulnerability Existed: not sure [Improved Error Handling] [third_party/rust/neqo-http3/tests/webtransport/sessions.rs] [Lines 19, 28-31, 37-40, 49-52, 62-65, 78-81, 93-96] [Old Code] `wt.check_session_closed_event_client(wt_session_id, Some(Error::HttpRequestRejected.code()));` [Fixed Code] `wt.check_session_closed_event_client(wt_session_id, SessionCloseReason::Status(404));` 2. Vulnerability Existed: not sure [Structured Session Closure] [third_party/rust/neqo-http3/tests/webtransport/sessions.rs] [Multiple locations] [Old Code] Various instances of using raw error codes for session closure [Fixed Code] Using structured `SessionCloseReason` enum with proper error classification 3. Vulnerability Existed: not sure [Broken Frame Handling] [third_party/rust/neqo-http3/tests/webtransport/sessions.rs] [Lines 240-263] [Old Code] (Not shown in diff, but new test case added) [Fixed Code] Proper handling of corrupted CloseSession frames with appropriate error responses 4. Vulnerability Existed: not sure [Flow Control Handling] [third_party/rust/neqo-http3/tests/webtransport/sessions.rs] [Lines 326-403] [Old Code] (Not shown in diff, but new test case added) [Fixed Code] Proper handling of session closure when flow control limits prevent immediate transmission The changes appear to improve error handling and session closure procedures in the WebTransport implementation, but without more context about the specific vulnerabilities being addressed, I can't definitively identify security issues. The modifications introduce more structured error reporting through the `SessionCloseReason` enum and add tests for edge cases like corrupted frames and flow control limitations. Note that the changes are primarily in test code, which suggests they might be verifying fixes made elsewhere in the codebase rather than containing the fixes themselves. The test improvements could be verifying security-related behavior changes in the main implementation.
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/filter-effects/filter-saturate-001-test.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/filter-effects/filter-saturate-001-test.html@@ -8,7 +8,6 @@ <link rel="help" href="https://www.w3.org/TR/filter-effects-1/#funcdef-filter-saturate"> <link rel="help" href="http://www.w3.org/TR/filter-effects-1/#saturateEquivalent"> <link rel="match" href="filter-saturate-001-ref.html">- <meta name="flags" content=""> <meta name="assert" content="the test passes if you see gray box."> <style type="text/css"> div {
Analysis of the code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/filter-effects/filter-saturate-001-test.html [Lines] 8 [Old Code] <meta name="flags" content=""> [Fixed Code] (line removed) Additional Notes: - The diff shows removal of an empty meta "flags" tag, which doesn't appear to be security-related - This appears to be a test file cleanup rather than a security fix - No known vulnerabilities are associated with this change - The modification doesn't introduce any security concerns nor fix any apparent security issues
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/serde_derive/src/de.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/serde_derive/src/de.rs@@ -1458,7 +1458,7 @@ while let _serde::__private::Some(__k) = #next_key { match __k { _serde::__private::de::TagContentOtherField::Other => {- try!(_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map));+ let _ = try!(_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)); continue; }, _serde::__private::de::TagContentOtherField::Tag => {
Let me analyze this code diff for security vulnerabilities. Vulnerability Existed: not sure [Potential Resource Leak] [third_party/rust/serde_derive/src/de.rs] [Lines 1458-1461] [Old Code] try!(_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)); [Fixed Code] let _ = try!(_serde::de::MapAccess::next_value::<_serde::de::IgnoredAny>(&mut __map)); Additional Details: The change adds `let _ =` to explicitly ignore the result of the `try!` macro. While this doesn't appear to be fixing a known vulnerability, it could potentially prevent resource leaks by making the ignored value explicit. The original code might have caused compiler warnings about unused results, and the fix ensures proper handling of the ignored value. However, I'm not certain this qualifies as a security vulnerability.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp@@ -165,6 +165,19 @@ (asMasm().*regOp)(Operand(scratch), lhsDest, lhsDest); } else { (asMasm().*constOp)(rhs, lhsDest);+ }+}++void MacroAssemblerX86Shared::binarySimd128(+ FloatRegister lhs, const SimdConstant& rhs, FloatRegister dest,+ void (MacroAssembler::*regOp)(const Operand&, FloatRegister, FloatRegister),+ void (MacroAssembler::*constOp)(const SimdConstant&, FloatRegister,+ FloatRegister)) {+ ScratchSimd128Scope scratch(asMasm());+ if (maybeInlineSimd128Int(rhs, scratch)) {+ (asMasm().*regOp)(Operand(scratch), lhs, dest);+ } else {+ (asMasm().*constOp)(rhs, lhs, dest); } }@@ -1108,6 +1121,8 @@ masm.append(*access, masm.size()); }+ // NOTE: the generated code must match the assembly code in gen_cmpxchg in+ // GenerateAtomicOperations.py switch (Scalar::byteSize(type)) { case 1: CheckBytereg(newval);@@ -1153,7 +1168,8 @@ const wasm::MemoryAccessDesc* access, Scalar::Type type, const T& mem, Register value, Register output)-+// NOTE: the generated code must match the assembly code in gen_exchange in+// GenerateAtomicOperations.py { if (value != output) { masm.movl(value, output);@@ -1230,6 +1246,8 @@ const T& mem, Register temp, Register output) { // Note value can be an Imm or a Register.+ // NOTE: the generated code must match the assembly code in gen_fetchop in+ // GenerateAtomicOperations.py #define ATOMIC_BITOP_BODY(LOAD, OP, LOCK_CMPXCHG) \ do { \ MOZ_ASSERT(output != temp); \
Based on the provided diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: not sure [Potential Code Generation Consistency Issue] [js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp] [Lines 1108-1121, 1153-1168, 1230-1246] [Old Code] switch (Scalar::byteSize(type)) { case 1: CheckBytereg(newval); ... } [Fixed Code] // NOTE: the generated code must match the assembly code in gen_cmpxchg in // GenerateAtomicOperations.py switch (Scalar::byteSize(type)) { case 1: CheckBytereg(newval); ... Additional Details: - The diff adds comments emphasizing the need for code generation consistency between C++ and Python implementations for atomic operations. - While not a direct vulnerability, mismatches in these implementations could potentially lead to security issues in atomic operations. - The changes appear to be preventive measures rather than fixes for existing vulnerabilities. 2. Vulnerability Existed: no [New Function Addition] [js/src/jit/x86-shared/MacroAssembler-x86-shared.cpp] [Lines 165-179] [Old Code] [No previous code] [Fixed Code] void MacroAssemblerX86Shared::binarySimd128( FloatRegister lhs, const SimdConstant& rhs, FloatRegister dest, void (MacroAssembler::*regOp)(const Operand&, FloatRegister, FloatRegister), void (MacroAssembler::*constOp)(const SimdConstant&, FloatRegister, FloatRegister)) { ScratchSimd128Scope scratch(asMasm()); if (maybeInlineSimd128Int(rhs, scratch)) { (asMasm().*regOp)(Operand(scratch), lhs, dest); } else { (asMasm().*constOp)(rhs, lhs, dest); } } Additional Details: - This appears to be a new function addition rather than a security fix. - The function implements SIMD (Single Instruction Multiple Data) operations with proper register handling. - No obvious security vulnerabilities are present in the added code.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/testing/web-platform/tests/css/css-backgrounds/background-origin-008.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-backgrounds/background-origin-008.html@@ -18,7 +18,6 @@ http://www.w3.org/TR/css3-background/#value-types -->- <meta name="flags" content=""> <meta name="assert" content="Background-origin with 'inherit' implies to inherit its parent element value to position the background area."> <style> div {
Analysis of the provided code diff: 1. Vulnerability Existed: no No specific vulnerability found [File] testing/web-platform/tests/css/css-backgrounds/background-origin-008.html [Lines] 18 [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 be security-related - This appears to be a test file cleanup rather than a security fix - No known vulnerability patterns (XSS, injection, etc.) are present in this change Note: While this doesn't represent a security fix, it's worth noting that removing unused tags can help reduce attack surface in general by minimizing parseable content.
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/box-sizing-026.html+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/web-platform/tests/css/css-ui/box-sizing-026.html@@ -3,7 +3,6 @@ <title>CSS Basic User Interface Test: box-sizing:border-box floors to 0</title> <link rel="author" title="Florian Rivoal" href="http://florian.rivoal.net/"> <link rel="help" href="https://drafts.csswg.org/css-ui-3/#box-sizing">-<meta name="flags" content=""> <link rel="match" href="../reference/ref-filled-green-100px-square.xht"> <meta name="assert" content="Floor width and height computation to 0 as they cannot be negative."> <style>
Based on the provided code diff, here's the analysis: Vulnerability Existed: no [No specific vulnerability found] [testing/web-platform/tests/css/css-ui/box-sizing-026.html] [Lines 3-6] [Old Code] <meta name="flags" content=""> [Fixed Code] [Removed line] Additional Details: 1. The change simply removes an empty meta tag for "flags" which appears to be test-related metadata. 2. There's no security vulnerability being fixed here - this appears to be a minor cleanup of test file metadata. 3. The removal of an empty meta tag doesn't indicate any security issue was present or fixed. 4. The change is likely part of general test maintenance rather than a security fix.
If an attacker could control the contents of an iframe sandboxed with <code>allow-popups</code> but not <code>allow-scripts</code>, they were able to craft a link that, when clicked, would lead to JavaScript execution in violation of the sandbox. This vulnerability affects Firefox < 98, Firefox ESR < 91.7, and Thunderbird < 91.7.
--- /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_97_END/firefox-FIREFOX_RELEASE_97_END/third_party/rust/audioipc2-server/src/lib.rs+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/third_party/rust/audioipc2-server/src/lib.rs@@ -151,7 +151,7 @@ #[allow(clippy::missing_safety_doc)] #[no_mangle]-pub unsafe extern "C" fn audioipc_server_start(+pub unsafe extern "C" fn audioipc2_server_start( context_name: *const std::os::raw::c_char, backend_name: *const std::os::raw::c_char, init_params: *const AudioIpcServerInitParams,@@ -177,7 +177,7 @@ // A `shm_area_size` of 0 allows the server to calculate an appropriate shm size for each stream. // A non-zero `shm_area_size` forces all allocations to the specified size. #[no_mangle]-pub extern "C" fn audioipc_server_new_client(+pub extern "C" fn audioipc2_server_new_client( p: *mut c_void, shm_area_size: usize, ) -> PlatformHandleType {@@ -215,7 +215,7 @@ } #[no_mangle]-pub extern "C" fn audioipc_server_stop(p: *mut c_void) {+pub extern "C" fn audioipc2_server_stop(p: *mut c_void) { let wrapper = unsafe { Box::<ServerWrapper>::from_raw(p as *mut _) }; drop(wrapper); }
Based on the provided diff, I'll analyze it for security vulnerabilities: 1. Vulnerability Existed: not sure Function Renaming [third_party/rust/audioipc2-server/src/lib.rs] [Lines 151, 177, 215] [Old Code] pub unsafe extern "C" fn audioipc_server_start pub extern "C" fn audioipc_server_new_client pub extern "C" fn audioipc_server_stop [Fixed Code] pub unsafe extern "C" fn audioipc2_server_start pub extern "C" fn audioipc2_server_new_client pub extern "C" fn audioipc2_server_stop Additional Details: - The changes appear to be purely function name changes from "audioipc" to "audioipc2" prefix - No obvious security vulnerabilities are introduced or fixed by these changes - The changes might be part of a version update or namespace separation - The unsafe block remains in the same place with the same functionality - The pointer handling and memory management patterns remain unchanged Note: While function renaming could potentially affect API compatibility, it doesn't appear to address any specific security vulnerability in this case. The changes seem more related to branding or versioning 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/taskcluster/ci/build/macosx.yml+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/taskcluster/ci/build/macosx.yml@@ -118,12 +118,16 @@ description: "MacOS X x64 Cross-compile Fuzzing ASAN" index: job-name: macosx64-fuzzing-asan-opt+ attributes:+ # The gtest libxul contains libFuzzer targets+ skip-verify-test-packaging: true treeherder: platform: osx-cross/asan symbol: Bof worker: max-run-time: 5400 env:+ MOZ_AUTOMATION_PACKAGE_TESTS: "1" PERFHERDER_EXTRA_OPTIONS: asan-fuzzing run: config:@@ -149,12 +153,15 @@ job-name: macosx64-fuzzing-debug attributes: enable-full-crashsymbols: true+ # The gtest libxul contains libFuzzer targets+ skip-verify-test-packaging: true treeherder: platform: osx-cross/debug symbol: Bf worker: max-run-time: 5400 env:+ MOZ_AUTOMATION_PACKAGE_TESTS: "1" PERFHERDER_EXTRA_OPTIONS: fuzzing run: config:@@ -413,6 +420,37 @@ - macosx64-sdk-10.12 - sysroot-wasm32-wasi+macosx64-aarch64-noopt/debug:+ description: "MacOS X aarch64 No-optimize Debug"+ index:+ job-name: macosx64-aarch64-noopt-debug+ treeherder:+ platform: osx-cross-noopt/debug+ symbol: Baarch64+ tier: 2+ worker:+ max-run-time: 3600+ env:+ PERFHERDER_EXTRA_OPTIONS: aarch64+ run:+ config:+ - builds/releng_base_firefox.py+ - builds/releng_base_mac_64_cross_builds.py+ custom-build-variant-cfg: cross-noopt-debug+ mozconfig-variant: cross-noopt-debug+ keep-artifacts: false+ extra-config:+ mozconfig_platform: macosx64-aarch64+ run-on-projects: ['mozilla-central']+ use-sccache: true+ fetches:+ toolchain:+ - linux64-cctools-port+ - linux64-clang-macosx-cross+ - linux64-sccache+ - macosx64-sdk-11.0+ - sysroot-wasm32-wasi+ macosx64-add-on-devel/opt: description: "MacOS X x64 add-on-devel" index:
Analyzing the provided code diff, here are the potential security vulnerabilities: 1. Vulnerability Existed: not sure [Potential Missing Test Packaging Verification] [taskcluster/ci/build/macosx.yml] [Lines 118-153] [Old Code] No attributes regarding test packaging verification [Fixed Code] Added `skip-verify-test-packaging: true` for both fuzzing configurations 2. Vulnerability Existed: not sure [Potential Missing Test Automation Flag] [taskcluster/ci/build/macosx.yml] [Lines 118-153] [Old Code] No `MOZ_AUTOMATION_PACKAGE_TESTS` environment variable [Fixed Code] Added `MOZ_AUTOMATION_PACKAGE_TESTS: "1"` for both fuzzing configurations 3. Vulnerability Existed: no [New Platform Configuration] [taskcluster/ci/build/macosx.yml] [Lines 420-437] [Old Code] No macosx64-aarch64-noopt/debug configuration [Fixed Code] Added new macosx64-aarch64-noopt/debug configuration Note: While the changes related to test packaging verification and automation flags could potentially impact security (if tests contain sensitive information or need special handling), there isn't enough context to confirm if these were actual vulnerabilities or just configuration improvements. The new platform configuration appears to be a feature addition 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/tps/tps/cli.py+++ /root/PatchLeaks-main/products/firefox_downloads/FIREFOX_RELEASE_98_END/firefox-FIREFOX_RELEASE_98_END/testing/tps/tps/cli.py@@ -1,8 +1,6 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.--from __future__ import absolute_import, print_function import json import optparse
Based on the provided diff, I'll analyze it for security vulnerabilities: Vulnerability Existed: no No specific vulnerability found [testing/tps/tps/cli.py] [Lines 1-8] [Old Code] # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. from __future__ import absolute_import, print_function import json import optparse [Fixed Code] # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. import json import optparse The change simply removes Python 2 compatibility imports (`from __future__ import absolute_import, print_function`) which were no longer needed. This doesn't appear to be a security-related fix but rather a maintenance update related to Python version support. No security vulnerabilities are being addressed 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.