PostgreSQL 9.4.1、9.3.6、9.2.10、9.1.15 及 9.0.19 版本已發布

發表於 2015-02-05,作者:PostgreSQL 全球開發團隊

PostgreSQL 全球開發團隊已發布重要的更新,修復了所有受支援的 PostgreSQL 資料庫系統版本中的多個安全性問題,其中包括次要版本 9.4.1、9.3.6、9.2.10、9.1.15 和 9.0.19。 此更新包含安全性修復以及自上次發布以來發現的問題修復。 特別是對於 9.4 更新,JSON 和 JSONB 資料類型 escape Unicode 字串的方式已變更。

所有使用者應盡快更新他們的 PostgreSQL 安裝。

安全性修復

此更新修復了過去幾個月在 PostgreSQL 中報告的多個安全性問題。 所有這些問題都需要事先驗證,有些問題需要額外條件,因此不被視為一般緊急問題。 但是,使用者應檢查下面修補的安全性漏洞清單,以防他們特別容易受到攻擊。

  • CVE-2015-0241 "to_char" 函數中的緩衝區溢位。
  • CVE-2015-0242 replacement printf 函數系列中的緩衝區溢位。
  • CVE-2015-0243 pgcrypto 擴充功能中函數的記憶體錯誤。
  • CVE-2015-0244 擴充協議訊息讀取中的錯誤。
  • CVE-2014-8161 限制違規錯誤可能會導致顯示使用者通常無權查看的欄位值。

此更新也修正了先前報告的問題,即在 Windows 上的回歸測試期間,測試 postmaster 程序容易受到未經授權的連線攻擊。 此漏洞已在先前的更新版本中於非 Windows 平台上修復。

有關這些問題以及舊的修補問題的更多資訊,請參閱 PostgreSQL 安全性頁面

JSON 和 JSONB Unicode 跳脫字元

PostgreSQL 9.4.0 中 JSON 和 JSONB 的 Unicode 跳脫字串處理方式已變更,這可能會破壞某些使用者的相容性。 為了修復一些不一致之處,JSONB 類型不再接受跳脫序列 "\u0000"。 JSON 類型僅在不需要轉換為解跳脫形式的上下文中接受 "\u0000"。 有關更多詳細資訊,請參閱版本說明。

其他修復和改進

除了上述內容外,在此累積更新版本中還修復了 60 多個報告的問題。 其中一些問題僅影響 9.4 版本,但許多問題修復了舊版本中存在的問題。 這些修復包括

  • 處理非 ASCII 挪威語 Windows 地區設定名稱。
  • 避免資料庫移動到新的表空間並再次移動回來時的資料損毀。
  • 確保在 ALTER DATABASE 操作期間正確複製 UNLOGGED 資料表。
  • 避免鎖定最近修改的列時發生死鎖。
  • 修復兩個 SELECT FOR UPDATE 查詢問題。
  • 防止最短優先正規表示式比對出現誤判。
  • 修復 tsquery contains 運算子中的誤判和漏判。
  • 修復 xpath() 中的命名空間處理。
  • 防止產生列的函數建立空的欄位名稱。
  • 使 autovacuum 使用每個資料表的 cost_limit 和 cost_delay 設定。
  • 當 autovacuum=off 時,將 autovacuum 工作限制為僅防止循環。
  • 9.4 中邏輯解碼的多個修復。
  • 修復由於頁面替換導致的熱備份查詢上的暫時性錯誤。
  • 防止在復原或備份升級結束時重複 WAL 檔案封存。
  • 防止僅限綱要傾印的平行還原中發生死鎖。

除了上述修復外,以下 contrib 模組和擴充功能已在此版本中修復了錯誤:pg_upgrade、auto_explain、hstore、pageinspect、pgcrypto、pg_test_fsync、tablefunc 和 xml2。 此外,已使用正確的波動等級修改了多個 contrib 模組中的多個函數。 還有多個基於 Coverity Scan 靜態分析器發現的次要問題的清理修復。

此更新還包含對 PostgreSQL 時區檔案的許多變更。 這包括更新到 tzdata 版本 2015a,其中包含對智利、墨西哥、土凱可群島和斐濟的更新。 PostgreSQL 現在在根據歷史上可變時區的時區縮寫分配偏移量時,會將日期納入考量。 我們也對時區縮寫進行了一般清理,並新增了 "CST" 作為中國標準時間的縮寫。

與其他次要版本一樣,使用者不需要傾印和重新載入其資料庫或使用 pg_upgrade 即可套用此更新版本; 您可以簡單地關閉 PostgreSQL 並更新其二進位檔案。 跳過多個更新版本的使用者可能需要執行額外的更新後步驟; 有關詳細資訊,請參閱版本說明。

連結: * 下載 * 版本說明 * 安全性頁面