5 月 4 日在五一假期的最後一天,從上午開始很多朋友陸續發現自己的擴展被禁用,無法安裝新擴展,這種情況一直持續到當天晚上,我們放出了熱更新,但用戶需要等待一段時間才能接收到,且關閉了實驗項目的用戶需手動操作。隨後為了修復這個問題我們陸續發布了 66.0.4、66.0.5 兩個小版本,對於使用 52-60 等不支持版本,和 61-65 非最新版的用戶,也可以通過安裝擴展的方式恢復使用。
問題發生時是在假期,這多少減少了遇到此問題的用戶數,Firefox 的現有機制決定了我們並沒有多少有效且及時的方式來快速的解決這件事。從統計數據來看,有 60% 的用戶安裝了擴展,中國用戶由於同步機制的存在可能要更高。無論是什麼原因,當一個問題會影響超過 60% 的用戶時,都是不能被忽視的。考慮到部分用戶為了接收熱更新被迫開啟了實驗項目,Mozilla 刪除了 5 月 4 日至 11 日收集的所有遙測數據。這篇文章會說明為什麼會發生這件事,已經後續的止損,修復是如何進行的。
擴展在 Firefox 中安裝運行需要被簽名,簽名的流程是根證書離線存於硬體安全模塊(HSM)中,根證書用於簽署新的中間證書,中間證書用於簽署最終實體證書,後者又簽署單獨的附加組件。中間證書是保持在線的,每隔幾年需要由根證書重新簽署。