Pale Moon 29 正式版更新日志
前注:Pale Moon 是 Firefox 的一個舊版衍生,采用 Goanna 內核,并使用 XUL 進行界面布局。 標 DiD(Defense-in-Depth)的要點,是預防針式
前注:Pale Moon 是 Firefox 的一個舊版衍生,采用 Goanna 內核,并使用 XUL 進行界面布局。
標 DiD(Defense-in-Depth)的要點,是預防針式的漏洞修復,避免以后可能出現的問題,參考原文。
v29.4.5.1 (2022-03-29)
此版本修復了緩存導致的性能問題。
v29.4.5 (2022-03-23)
這是一次安全更新。
更新內容:
- 修復了數個導致軟件崩潰的情況(DiD)
- 修復了一些線程鎖定/互斥的問題(DiD)
- 修復了錯誤報告不一致導致的內容類型泄漏問題(CVE-2022-22760)
- 修復了 iframe 沙盒未正確應用的問題(CVE-2022-22759)
- 修復了導出的書簽文件內,惡意內容導致的潛在問題
- 修復了一個拖拽問題(CVE-2022-22756)
- 修復了 WAV 文件被截斷而導致的潛在崩潰
- 修復了 XSLT 的內存安全問題(CVE-2022-26485)
v29.4.4 (2022-01-18)
這是一次安全更新。
更新內容:
- 提高了應用程序庫加載的安全性(DiD)
- 修復了 JavaScript 序列化的一個問題(DiD)
- 修復了 IndexedDB 中潛在的越界問題(DiD)
- 修復了小部件數據處理代碼中的潛在問題(DiD)
- 修復了處理截斷/損壞的傳輸流時可能被利用的崩潰問題
- 修復了 DOM FileReader 代碼中的一個問題
- 將 NSS 更新至 3.52.3 以解決安全問題
- 修復了以下安全問題:CVE-2022-22736, CVE-2022-22741, CVE-2021-4140, CVE-2022-22746, CVE-2022-22744 and CVE-2022-22747
- 統一 XUL 平臺 Mozilla 安全補丁概述:8個已修復,4個DiD,17個不適用
v29.4.3 (2021-12-14)
這是一次安全更新,同時也增加一些額外功能。 此次更新重新支持了 FUEL,以保證舊擴展的兼容性,詳情見實施日志。
更新內容:
- 重新支持 FUEL abstraction library
- 為計時器和文本片段添加額外的健全性檢查(DiD)
- 為程序線程邏輯添加了一個潛在的奔潰保護(DiD)
- 修復了以下安全問題:CVE-2021-43537, CVE-2021-43541, CVE-2021-43536, CVE-2021-43545 and CVE-2021-43542
- 統一 XUL 平臺 Mozilla 安全補丁概述:已修復5個, 3個DiD, 10個不可用
實施日志:
- 盡管于 29.4.0 和 29.4.2 版本被移除,也在 Pale Moon 內部廢棄已久,FUEL 在經過社區的強烈反對和擴展兼容修復于事無補的情況下,又復活了。同時,這也是永久的復活,因為有些用戶可能會離開,或停留在不安全的版本上——至于擴展的兼容性問題,似乎也沒人來解決。在論壇上有關于此方向變化更詳細的公告
v29.4.2.1 (2021-11-11)
此次更新修復一個小問題:自動完成的下拉列表的樣式不正確,導致自定義主題出現問題或未按預期顯示(如不可讀的情況)。
v29.4.2 (2021-11-09)
這是一次安全更新。
更新內容:
- 修復了可能導致域名混淆的 IDN 規范遵從性問題
- 修復了幾個間歇性的線程健全性問題(DiD)
- 修復了網絡連接中可能出現的 UAF 風險(DiD)
- 修復了潛在的奔潰風險(尚未暴露,DiD)
- 修復了提交表單時潛在的被騙風險(CVE-2021-38508)
- 通過 XSLT 修復了網頁腳本沙盒逃逸的問題(CVE-2021-38503)
- 添加了一個設置項以啟用與早期 TLS 1.3 規范兼容的模式,詳情見實施日志
- 統一 XUL 平臺 Mozilla 安全補丁概述:已修復3個,1個已應用,4個DiD,7個不可用
安全注意:如果已啟用 HTTP Alternative Services for Opportunistic Encryption 功能,此時我們強烈建議禁用它:設置 -> 安全 -> Opportunistic Encryption -> Enable HTTP Alternative Services for Opportunistic Encryption。因為 http -> https 這種脆弱的傳統處理辦法已經被違背和濫用(partial opt-in bypass)。注意,由于這些既有風險,以及連接到服務器缺乏透明度的原因,我們默認將其禁用(包括其他任何 OE)。關于此問題的更多詳情,可參閱 CVE-2021-38507。
實施日志:
- 新增了一個設置項(security.ssl.enable_tls13_compat_mode),它允許用戶啟用兼容較舊協議規范草案的 TLS 1.3 模式。變更此設置項后,需要重啟瀏覽器。注意,請只在必要時開啟(如使用過時的代理軟件、負載平衡器或中間件等情況),因為它可能會導致連接的安全性問題。
- FUEL 已被移除(再次)。三個月前我們已經在 29.4.0 中將其移除(盡管之后臨時恢復,以使擴展開發人員有更多時間解決問題),我們已經發出明確警告,使用 FUEL 的擴展將無法在此版本正常工作。
v29.4.1 (2021-09-14)
這是一次安全更新。
更新內容:
- 修復了潛在的崩潰問題(DiD)
- 修復了 Internet Explorer 潛在的間接攻擊問題(CVE-2021-38492)
- 統一 XUL 平臺 Mozilla 安全補丁概述:已修復1個,2個DiD,8個不可用
v29.4.0.2 (2021-08-23)
這是一個微小的更新以解決 Linux 和 Windows 上音頻停止工作的問題(盡管這很少出現)。我們仍在排查 Windows 上此問題的根本原因(Linux 方面的原因已經找到)。然而,此次更新,我們暫時恢復 audio library (libcubeb)到之前的版本,以便在此期間為用戶提供適當的媒體體驗。
v29.4.0.1 (2021-08-18)
這是一個微小的更新以解決以下問題:
在 29.4.0 版本,Pale Moon 已經移除了可選的 FUEL 組件(其在 Mozilla Add-On SDK 中早已被棄用)。這對許多流行的擴展及一些核心功能產生了意外的影響,而這些情況在我們發布前的測試和不穩定通道中并沒有被注意到。
作為我們解決問題,并履行承諾的一部分,我們為了擴展開發人員有更多的時間解決問題,此更新將【暫時】恢復 FUEL 組件。如果您是依賴 FUEL 組件或命名空間(如隱式“應用程序”)的擴展開發人員,請在下一個正式版前更新您的擴展。
v29.4.0 (2021-08-17)
這是一個集新功能開發、bug 修復和安全更新的大版本。我們調整了發布時間表,以提供 web 兼容性的改進,而不僅僅作為本月的安全更新。
更新內容:
promise.allSettled()方法已生效- 在 windows 和 workers 上實現了全局源
- 改進了內存分配的性能
- 將 libcubeb 更新為最新開發版,這提高了 OSS 的兼容性,同時解決了潛在的崩潰、性能和安全問題
- 將 SQLite 更新至 3.36.0
- 改進了 web 內容緩存線程的安全性(DiD)
- 修復了一些潛在的崩潰和安全問題(DiD)
- 統一 XUL 平臺 Mozilla 安全補丁概述:5個DiD,12個不可用
v29.3.0 (2021-07-19/20)
這是一個集新功能開發、bug 修復和安全更新的大版本。
更新內容:
- 「Web 開發者」現在在菜單中被稱為「開發者工具」
- 更新并調整:主頁、快速撥號,及登錄頁面樣式
- 在設置里做隱私標簽內容的重新排布
- 為支持的站點啟用基于 http 的 brotli 壓縮,詳見實施說明
- 實現了
EventTarget構造器 - 更新了 Windows 10 工具箱樣式(窗口樣式?)
- 更新了端口黑名單(移除 10080 端口),詳見實施說明
- CSS:實現了
calc()方法,對stroke-dashoffset啟用動畫支持 - 添加了 chrome CSS 樣式表的布爾選項支持,以實現更高級的主題配置
- 添加了 CSS 動態深色主題的支持
- 根據最新規范變更了
ResizeObserver的具體實現,詳見實施說明 - 刪除了一大堆 Macintosh 相關代碼
- 從布局引擎中移除了過時的系統主題支持
- 修復了數個崩潰問題
- Linux:移除了早已過時的 Mesa/Nouveau 驅動,因為它可能導致一些問題
- 解決了一些安全問題:包括 CVE-2021-30547 及數個沒有 CVE 編號的問題
- 統一 XUL 平臺 Mozilla 安全補丁概述:3個已修復,3個DiD,2個推遲(DiD),12個不可用
實施說明:
- Brotli 壓縮算法(數年前引入)最初僅用于在 web 瀏覽器中使用 https,因為擔心其與設計不佳的中間件盒子進行交互,并試圖顯式重新壓縮數據,然而其無法識別新的壓縮流類型,甚至出錯。而這些框中進行的處理(SDCH)早已被棄用。在此之后,Chrome 及 Firefox 一直保持 http 和 https 之間對 Brotli 的隔離,通過人為地降低 http 的效率(拒絕使用更密集的 Brotli 壓縮),進一步推廣 https 而非 http。由于沒有任何技術緣由不啟用 http 上的 Brotli,于是我們將從此版本開始接受純 http 上的 Brotli(通過接受編碼),當服務器也啟用它時,帶寬使用量將減少20%。
- 我們維護一個不應從瀏覽器尋址的端口黑名單(以防止腳本濫用)。前段時間,我們更新了更大范圍的端口號,其中就包括端口 10080(Amanda)。然而,很多其他公共服務/設備也使用這個端口(比如隨機到它),所以我們再次從黑名單中移除了此端口。
ResizeObserver的實現已更改為現存 API 的更新規范,包括實驗屬性contentBoxSize和borderBoxSize,將允許更精細的控件響應和元素大小的更改。為了保證 web 的兼容性,陳舊的contentRect大小屬性依然支持。
v29.2.1 (2021-06-08)
這是一個小小的錯誤修正版本~
更新內容:
- 解決了自動完成偶爾不彈出窗口的問題(同時添加一些調試日志,以便找到根源)
- 修正了鼠標滾動 DOM 拋出錯誤的問題
- 修正了從睡眠狀態恢復時,網絡發現程序無法正確啟動的問題
- 修正了通過 DOM 大量上傳文件時的崩潰問題
- 修正了可編輯菜單列表按鈕在 GTK3 上不可見的問題
- 減少了錯誤日志中「重要配置項」的數量,比如單個打印機的屬性信息
- 修復了 JS JIT 編譯器不跟蹤 debug 環境的問題(DiD)
此版本沒有添加 UXP 和 Pale Moon 的安全補丁。
v29.2.0 (2021-04-27)
這是一個面向開發者和錯誤修復的版本。
以此開端,我們將不再支持沒有直接針對 Pale Moon 更新而無人維護的 Firefox 舊擴展(正式分道揚鑣),詳情見此。
更新內容:
- 從歷史側邊欄新開標簽時,如果一次打開過多標簽頁,Pale Moon 會彈出警告
- 為了用戶界面的一致性,Pale Moon 現在書簽文件夾添加了「全部打開」的菜單項,即使其中只有一個項目
- 在設置里添加了媒體格式控制的分類
- 添加了明亮/黑暗的默認配色方案選項,詳見實施說明
- 兼容性問題,將對幾個特定站點進行 UA 覆蓋(萬惡的 Chrome。。)
- 移除了接受 Firefox IDs 以安裝擴展的能力
- 移除了可以移除的 Macintosh 前端代碼
- 將 AV1 依賴庫更新至 2.0 版本
- 清除了平臺上的一些 Android 代碼
- 更新了字體,以適配多種族多職業的 emoji 顯示
- 修復了剪貼板的溢出問題,它們可能被錯誤地渲染
- 已添加
smooth,high-quality以及pixelated的值進 CSS 屬性image-rendering - 接軌標準,
Intl.NumberFormat.formatToParts()將允許腳本對本地化數字格式進行解構 - 恢復了
dom.details_element.enabled配置項,并修復 summary / details 的 html 元素渲染問題 - 修正了 CSP 一個
.nonce元素屬性的問題 - 解決了兩個安全問題:CVE-2021-29946(DiD)以及 CVE-2021-23994(DiD)
- 統一 XUL 平臺 Mozilla 安全補丁概述:2個DiD,14個不可用
實施說明:
此版本增加了 prefers-color-scheme CSS 屬性的支持,該屬性告訴站點使用明亮還是黑暗的配色方案。
對于其他瀏覽器,這將與系統配色直接相關并自動應用(這可能會留足跡,存在隱私問題),所以我們決定通過「設置-內容-顏色」給予用戶選擇的權利(所有人默認明亮)。
盡管我們也提供了禁用此功能并直接不支持此屬性的選項,但注意,這可能會在一些不配置默認配色方案的站點上出現問題,未來我們可能會添加一個類似其他瀏覽器的「自動」選項,以防系統和網頁配色不同帶來的割裂感。
v29.1.1 (2021-03-30)
這是一個微小的安全更新及錯誤修復。
更新內容:
- 更新了 NSS 以修復證書導入問題,同時 keygen 將回歸
- 移除了對 SVG 元素的 width / height 屬性單位限制
- 默認啟用
scrollbar-width的 CSS 屬性 - 已解決的安全問題:CVE-2021-23981,以及針對潛在文檔解析器混淆的修復(DiD)
- 統一 XUL 平臺 Mozilla 安全補丁概述:2個DiD,9個不可用
v29.1.0 (2021-03-02)
這是一個包含開發改進、錯誤修復和安全更新的一個版本。
新特性:
- 支持了如下語言:阿拉伯語(ar)、繁體中文(zh-TW)、克羅地亞語(hr)、丹麥語(da)、芬蘭語(fi)、加利西亞(德國)、印尼語(id)、冰島語(is)、日語(ja)、羅馬尼亞語(ro)、塞爾維亞語(西里爾)(sr)、斯洛文尼亞語(sl)、泰語(th)
- 實現了
String.prototype.replaceAll()方法 - 實現了 JSON 超集協議
- 實現了嚴格良好的 JSON 格式
- 在 JS 中實現了數字分隔符
更新內容:
- 更新時區數據至 2021a
- 修正了
about:license中的語句并添加了更多已使用的許可證說明 - 為了兼容,已更新一些用于特定站點的 UA 覆蓋
- 更新了 lz4 庫,以獲得性能優化及安全更新
- 提高了嚴格化的 JSON 性能
- 進一步改善了對 FreeBSD 的支持
- 修復了 useragent 的兼容性更改需要重啟才能生效的問題
- 修復了 WebCrypto (隱蔽的加密API)中 AES-GCM 不起作用的問題(這可能會導致一些登錄頁出錯)
- 修復了頁面腳本將瀏覽歷史記錄與快速位置狀態更改淹沒時,瀏覽器完全死鎖的問題
- 默認情況下,AV1 編碼和解碼器再次被禁用,因為我們的實現存在重大的流媒體問題(尤其是音頻),這需要進一步工作
- 在某些操作系統上添加了與 html 文件 input 元素上的文件與目錄打開的必要對話框交互,以避免惡意網頁誘導用戶上傳敏感文件(CVE-2021-23956 相關)
- 添加了字體完整性檢查,以避免在未打補丁的 Windows 上觸發潛在漏洞(CVE-2021-24093 相關)
- 解決了安全問題:CVE-2021-23974、CVE-2021-23973,以及幾個沒有編號的內存安全隱患
- 統一 XUL 平臺 Mozilla 安全補丁概述:4個已修復,2個DiD,19個不可用
v29.0.1 (2021-02-06)
這是一個安全和穩定性更新。
更新內容:
- 修復了控制 frame 樹時瀏覽器的崩潰問題
- 修復了 ANGLE 的深度紋理問題
- 為 You Tube Studio 更新了 SSAOU
- 解決了安全問題:ZDI-CAN-12197
v29.0.0 (2021-02-02)
新的一年,新的里程!
我們的初始目的是讓 Google WebComponent 支持這個里程碑版本,然而現在所有合理的 deadline 都已經過去。
所以,取而代之的是,這個新版本將繼續建立在開發平臺的進一步增強改進、瀏覽器的新功能添加以及大量錯誤修復的基礎之上。
新增內容:
- 為 JS 實現了
Intl.PluralRulesAPI - 添加了一個常用的設置項(browser.tabs.allowTabDetach),用來禁用拖拽標簽到窗口外以新建窗口
- 將 FLAC 添加為可識別的文件擴展名
- 實現了對 CSS 屬性
scrollbar-width的基礎支持,詳見實施說明 - 增加了對現代 FreeBSD 構建的初步支持
- 選擇性啟用 DOM Animations API 的核心特性
- 默認情況下啟用對 AV1 視頻的支持(早已構建,但之前未啟用)
- 增加了對指針事件的支持
- 增加了對 SVG
transform-box屬性的支持 - 增加了對表單
inputmode屬性的支持,以支持軟鍵盤的敏感內容顯示 - 啟用了空閑時關閉文件 I/O 進程的資源優化
- 已默認阻止后臺自動播放
- 除了 GTK2 版本,我們現在還提供 Linux 官方的 GTK3 版本構建
- Google WebComponents 的部分實現(但暫不可用),詳見實施說明
一些改變和 Bug 修復:
- 將 NSPR 更新至 4.29 版本
- 將 NSS 更新至 3.59 版本
- 已禁用存儲證書和密碼的舊數據庫格式,詳見實施說明
- 更新了一些站點的特定 UA 覆蓋以解決兼容問題
- 改進了查找欄的樣式,以避免某些系統主題出現難以閱讀的文本
- 刪除了大量 Android 限定的代碼
- 將 gkmedias.dll 從 xul.dll 中分離出來
- 清除了大量冗余和過時的代碼路徑
- 修復了 Performance API 的回退問題
- 修復了強制禁用某些類型緩存后的初始化問題
- 修復了從 FTP 保存可預覽的文件時發生的崩潰
- 修復了 JS 模塊加載導致崩潰的根本原因,詳見實施說明
- 修復了導致打印預覽窗口不顯示的初始化問題,這很少出現
- 修復了 Mac 上文本輸入不安全時的崩潰問題
- 默認禁用 Storage Manager API
- 默認禁用 html tag
<menuitem>,如果仍然需要,可以在about:config中啟用配置項dom.menuitem.enabled - 修復了 XUL 樹相關的內存安全問題(CVE-2021-23962)
- 實施了幾項 DiD 修復,以改善穩定性和并解決未來的安全問題
- 統一 XUL 平臺 Mozilla 安全補丁概述:1個已修復,6個DiD,1個已實施,1個推遲下一版本,24個不可用
實施說明:
我們已經實現了對 CSS 屬性 scrollbar-width 的基本支持,網頁日漸常用的配置是 scrollbar-width: none,即當內容溢出限定空間而不顯示滾動條,我們將完全地支持此 none 鍵值。
此屬性的另一個可選值為 thin,盡管支持了這一特性,但它目前依賴于各操作系統的基礎主題,所以可能幾乎沒有影響,并依舊是標準寬度的滾動條(與默認的 auto 相同,Linux 尤是)。
用于存儲安全證書和密碼的 dbm 數據庫格式將不再使用。
同時瀏覽器無法將舊格式(cert8.db 和 key3.db)轉換為現在基于 SQL 的格式,請參閱我們關于配置文件遷移的文檔,以獲取建議。
有個問題迫使我們在之前版本默認禁用 JS 的 JIT 編譯器(IonMonkey)中代碼的內聯優化,以防止模塊腳本崩潰(可以參閱 28.17.0 的更新日志)。
而我們現在追蹤到它了(thanks, jarman!),于是,我們將修復先前操作帶來的瀏覽器性能損失,同時解決臨時方案可能導致的崩潰問題。
我們已經實現了大量 Google WebComponents(CustomElements 以及 Shadow DOM),但代碼還不完全,所以目前通過一個配置項(dom.webcomponents.enabled)控制——但強烈建議目前不要開啟,除非你想幫助我們實現這個從根本上改變 web 世界規范的其余部分。
請不要期望此配置項能帶來魔法,讓 Google 及其附屬網站突然可以在沒有輔助的情況下「現代化」工作(如 polyfills),雖然我們已經做了很多工作以尋求一個可行的實現,但此規范有點特殊,因為要么全做,要么全不做,因為它不是現有技術的擴展或演變,而是試圖在最基本的層面上重新定義網站的工作方式和結構(因此有大量負面反饋)。
下一篇:29路








