在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Google在一個函數中放入2萬個變量引發(fā)Firefox大崩潰

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-06-26 16:58 ? 次閱讀

近日,Mozilla 檢測到 Firefox 出現了大量崩潰事件,這個問題主要發(fā)生在使用 Linux 系統的用戶身上,尤其是使用基于舊版本 Debian 的 Linux 系統上。

經過調查,Mozilla 最后發(fā)現這個問題并非由 Firefox 本身引起,而是涉及到 Linux 內核和 Google 的 JavaScript 代碼。

這些崩潰事件發(fā)生的十分突然,一開始 Mozilla 檢測到數以千計使用一個名為 Huayra 的 Debian 發(fā)行版的用戶受到影響,特別是 Huayra 5(基于 Debian 10)。

后續(xù)的持續(xù)檢測發(fā)現,這個問題影響了幾乎所有基于舊版本 Debian 的發(fā)行版。

崩潰事件也并不是隨機發(fā)生,而是能夠 100% 復現。用戶只要在 Google 上搜索圖片 Firefox 就會出現崩潰,這個問題影響了所有版本的 Firefox 瀏覽器 —— 無論是最新版本還是非常老的版本,都會崩潰。

結合上面兩個條件,Mozilla 的研究人員認定這個問題不是由 Firefox 這邊引發(fā)的,問題應該是出在 Google 和舊版 Linux 那邊,并開始分析這個問題發(fā)生的原因。

40b175c4-1349-11ee-962d-dac502259ad0.png

Mozilla 隨后開始分析 Firefox 在崩潰時的行為,發(fā)現崩潰發(fā)生在堆棧探測期間。

JIT 觸及了為下一個 JavaScript 調用保存變量的區(qū)域,并不知為何導致了溢出。

第一個奇怪的地方在于,Mozilla 發(fā)現 Google 最近對其圖像搜索頁面進行了更改,該頁面現在有一個 JS 函數,Google 在這個單獨的函數中分配了 20000 個變量。

進一步分析發(fā)現,這個函數可能是由 AI 生成的代碼。

雖然發(fā)現了有這樣的問題,不過理論上 Firefox 應該依然不會出現崩潰才對,因為 Linux 會自動擴展堆棧,Mozilla 團隊也已經預留了足夠的空間,隨后他們通過查看受影響進程的內存確認了這一點。

在執(zhí)行此操作之前,我們進行了堆棧檢查并驗證了我們分配的額外堆棧內存量不會溢出我們?yōu)樽约涸O置的本機堆棧限制。

因此,似乎存在我們自我施加的限制與操作系統限制之間的分歧。

這在某種程度上取決于發(fā)行版,但很混亂:例如,它影響 Debian 10 但不影響 Debian 11。

隨后 Mozilla 團隊將檢查重點放在了 Linux 內核上,結果發(fā)現 Linux 內核曾經有一個檢查,可以防止對堆棧的訪問離堆棧指針太遠。

特別是在 64KiB+256 字節(jié)以外的訪問會產生崩潰,而不是擴展堆棧。

這個問題在 Linux 4.20 中被修復了,所以使用較新的發(fā)行版的用戶不受影響。

根據測試,Google 似乎已經在圖片搜索中修復了這個問題,不過 Mozilla 仍然在著手研究解決方案,看看是否能為還在使用老系統的用戶一勞永逸解決這個問題,以免未來發(fā)生同樣的情況。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • Linux系統
    +關注

    關注

    4

    文章

    604

    瀏覽量

    28379
  • LINUX內核
    +關注

    關注

    1

    文章

    317

    瀏覽量

    22249
  • Debian
    +關注

    關注

    0

    文章

    77

    瀏覽量

    1617

原文標題:Google在一個函數中放入2萬個變量,引發(fā)Firefox大崩潰

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Google推出全新Cloud WAN解決方案

    202 接入點(PoP),由超過 200 英里的光纖和 33 條海底光纜提供支持,并有 99.99% 可靠性服務水平協議(SLA)作為后盾,Google 的網絡提供了
    的頭像 發(fā)表于 05-14 16:48 ?390次閱讀

    函數指針的六常見應用場景

    函數指針嵌入式開發(fā)中有著廣泛的應用,它讓代碼更加靈活,減少冗余,提高可擴展性。很多時候,我們需要根據不同的情況動態(tài)調用不同的函數,而函數指針正是實現這
    的頭像 發(fā)表于 04-07 11:58 ?397次閱讀
    <b class='flag-5'>函數</b>指針的六<b class='flag-5'>個</b>常見應用場景

    必看!15C語言常見陷阱及避坑指南

    ? C語言雖強大,但隱藏的“坑”也不少!稍不留神就會導致程序崩潰、數據異常。本文整理15高頻陷阱,助你寫出更穩(wěn)健的代碼! ? 陷阱1:運算符優(yōu)先級混淆? 問題:運算符優(yōu)先級不同可能導致計算順序錯誤
    的頭像 發(fā)表于 03-16 12:10 ?500次閱讀

    關于STM32 CAN通信發(fā)送函數HAL_CAN_AddTxMessage()的最后參數填0和定義變量取地址的問題求解

    問題: 關于STM32 CAN通信 發(fā)送函數 HAL_CAN_AddTxMessage()的最后參數填0和定義
    發(fā)表于 03-11 08:22

    STM32H7 0x00000000地址的內容引發(fā)hardfault怎么解決?

    ;Init.Request)時引發(fā)hardfault。具體原因是因為變量huart(對應類型UART_HandleTypeDef)中未對hdmarx進行初始化,該指針變量指向0x00000000,但
    發(fā)表于 03-07 08:15

    TimSort:標準函數庫中廣泛使用的排序算法

    排序算法呢? 本文將帶你走進 TimSort,標準函數庫中廣泛使用的排序算法。 這個算法由工程師 Tim Peters 于 2001 年專為 Python 設計,并自 Pytho
    的頭像 發(fā)表于 01-03 11:42 ?522次閱讀

    同樣是函數,C和C++中有什么區(qū)別

    同樣是函數 C 和 C++ 中有什么區(qū)別? 第一個返回值。 C語言的函數可以不寫返回值類型,編譯器會默認為返回 int。 但是 C++ 的函數
    的頭像 發(fā)表于 11-29 10:25 ?826次閱讀

    如何在文本字段中使用上標、下標及變量

    KiCad的任何文本字段中,都可以通過以下的方式實現上標、下標、上劃線以及顯示變量及字段值的描述: 文本變量“文本變量”可以 原理圖設置
    的頭像 發(fā)表于 11-12 12:23 ?560次閱讀
    如何在文本字段中使用上標、下標及<b class='flag-5'>變量</b>

    Steam歷史罕見大崩潰!近60僵尸網絡,DDoS攻擊暴漲2

    實驗室分析,此次攻擊異常猛烈,源頭涉及近60僵尸網絡主控,攻擊指令夜之間激增超2倍,波及全球13國家和地區(qū)的107
    的頭像 發(fā)表于 08-27 10:44 ?489次閱讀
    Steam歷史罕見大<b class='flag-5'>崩潰</b>!近60<b class='flag-5'>個</b>僵尸網絡,DDoS攻擊暴漲<b class='flag-5'>2</b><b class='flag-5'>萬</b>倍

    技術干貨驛站 ▏深入理解C語言:基本數據類型和變量

    語言的知識,為后續(xù)的編程學習打下堅實的基礎。1基本數據類型C語言中,數據類型指的是用于聲明不同類型的變量函數廣泛的系統,用于定義
    的頭像 發(fā)表于 07-26 17:53 ?2646次閱讀
    技術干貨驛站 ▏深入理解C語言:基本數據類型和<b class='flag-5'>變量</b>

    sdk調用sprintf函數時,系統就會崩潰,為什么?

    rtos版本的sdk,v1.0.4版本(1.0.3版本的也有同樣的問題)。當我調用sprintf函數時,系統就會崩潰,打印信息如下: Fatal exception (222t?,u): epc1
    發(fā)表于 07-18 07:14

    python函數能參數

    我們通過簡單的事例來展示函數能參數,我們先寫
    的頭像 發(fā)表于 07-17 14:56 ?564次閱讀
    python<b class='flag-5'>函數</b>的<b class='flag-5'>萬</b>能參數

    PyTorch中搭建最簡單的模型

    PyTorch中搭建最簡單的模型通常涉及幾個關鍵步驟:定義模型結構、加載數據、設置損失函數和優(yōu)化器,以及進行模型訓練和評估。
    的頭像 發(fā)表于 07-16 18:09 ?2743次閱讀

    與屏幕起發(fā)送的第一個UART數據時出現初始崩潰,但僅在第次閃存時出現,為什么?

    其他人在閃爍并發(fā)送 UART 數據字符后遇到此問題,導致以下問題,我刷新芯片并崩潰后,我手動重置它后,它工作正常,完全沒有問題,但是
    發(fā)表于 07-09 07:39

    使用google-translate和wwe合并后無法使用google-tts怎么解決?

    我打算使用lyrat-mini做一個使用喚醒詞喚醒然后后續(xù)通過google-sr和google-tts進行交流的聊天機器人,但是當我合并了adf的例子中的wwe和google-tran
    發(fā)表于 06-28 06:05
    主站蜘蛛池模板: 9久久99久久久精品齐齐综合色圆 | 天天看片中文字幕 | 777人体粉嫩u美图 | 黄色视屏日本 | 国产免费一区二区三区香蕉精 | 婷婷网五月天天综合天天爱 | 成年网站在线看 | 色五月天天 | 22eee在线播放成人免费视频 | 日韩第十页 | 日本不卡免费高清一级视频 | 欧美亚洲网站 | xxx86日本人| h国产| 欧美色视频在线 | 免费视频黄 | 日本不卡视频一区二区 | 全国男人的天堂天堂网 | 亚洲免费区 | 欧美精品aaa久久久影院 | 人人干夜夜操 | 日本又粗又长一进一出抽搐 | 新版天堂中文网 | 欧美福利视频网站 | 免费看黄色小视频 | 四虎永久在线视频 | 伊人久久99| 欧美一级精品 | 欧美日本一区二区三区 | 国产―笫一页―浮力影院xyz | 日本一区二区三区四区在线观看 | 狠狠色影院 | 69久久夜色精品国产69小说 | 欧美成人一区亚洲一区 | 欧美成人 色 图 | 天堂网在线最新版www | 精品欧美一区二区三区在线观看 | 伊人网络 | 色香天天 | 狠狠操人人 | 色综合久久九月婷婷色综合 |