PostgreSQL 9.2.4、9.1.9、9.0.13 和 8.4.17 版本發布

由 PostgreSQL 全球開發團隊於 2013-04-04 發布

PostgreSQL 全球開發團隊已發布所有目前 PostgreSQL 資料庫系統版本的安全性更新,包括 9.2.4、9.1.9、9.0.13 和 8.4.17 版。此更新修正了 9.0 及更高版本中的高風險安全性漏洞。強烈建議所有受影響版本的用戶立即套用此更新。

此版本中修正的主要安全性問題 CVE-2013-1899,使得包含以 "-" 開頭的資料庫名稱的連線請求可以被設計成損壞或摧毀伺服器資料目錄中的檔案。任何有權存取 PostgreSQL 伺服器監聽的端口的人都可以發起此請求。此問題由 NTT 開源軟體中心的近藤光正 (Mitsumasa Kondo) 和堀口恭太郎 (Kyotaro Horiguchi) 發現。

此版本還包含兩個較小的安全性修正:CVE-2013-1900,其中 contrib/pgcrypto 函數產生的隨機數字可能很容易被另一個資料庫用戶猜到;以及 CVE-2013-1901,該漏洞錯誤地允許未授權的用戶執行可能干擾正在進行的備份的命令。最後,此版本修正了 Linux 和 Mac OS X 圖形安裝程式的兩個安全性問題:將超級使用者密碼不安全地傳遞給腳本 CVE-2013-1903 以及在 /tmp 中使用可預測的檔案名稱 CVE-2013-1902。Marko Kreen、Noah Misch 和 Stefan Kaltenbrunner 分別報告了這些問題。

我們感謝每位開發人員為使 PostgreSQL 更安全所做的努力。

此版本還修正了 GiST 索引管理中的幾個錯誤。安裝此更新後,建議對滿足以下一個或多個條件的任何 GiST 索引執行 REINDEX。

此更新版本還包含 PostgreSQL 社群在過去兩個月中發現和修補的許多小問題的修正,包括

  • 修正 GiST 索引,使其不對 box、polygon、circle 和 point 欄使用「模糊」幾何比較
  • 修正 contrib/btree_gist 中用於 text、bytea、bit 和 numeric 欄上的 GiST 索引的錯誤
  • 修正多欄 GiST 索引的頁面分割程式碼中的錯誤
  • 修復 WAL 重播中的緩衝區洩漏,導致「incorrect local pin count」錯誤
  • 確保在存在 recovery.conf 的情況下,在不潔關機期間進入封存復原之前進行崩潰復原
  • 避免在崩潰復原期間刪除尚未封存的 WAL 檔案
  • 修正 DELETE RETURNING 中的競爭條件
  • 修正將欄位新增至依賴於另一個檢視表的檢視表後可能發生的規劃器崩潰
  • 消除 PL/Perl 的 spi_prepare() 函數中的記憶體洩漏
  • 修正 pg_dumpall 以正確處理包含 "=" 的資料庫名稱
  • 避免在給出錯誤的連線字串時 pg_dump 崩潰
  • 在 pg_dump 和 pg_upgrade 中忽略無效索引
  • 在使用 pg_basebackup 備份表空間時,僅包含目前伺服器版本的子目錄
  • 在 pg_basebackup 和 pg_receivexlog 中新增伺服器版本檢查
  • 修正 contrib/dblink 以安全地處理 DateStyle 或 IntervalStyle 的不一致設定
  • 修正 contrib/pg_trgm 的 similarity() 函數,使其為無 trigram 字串返回零
  • 啟用使用 Microsoft Visual Studio 2012 建置 PostgreSQL
  • 更新智利、海地、摩洛哥、巴拉圭和一些俄羅斯地區的 DST 法律變更的時區資料檔案

與往常一樣,更新版本只需要安裝套件並重新啟動資料庫系統。您不需要為此更新版本進行 dump/restore 或使用 pg_upgrade。跳過多個更新版本的用戶可能需要執行其他更新後步驟;有關詳細資訊,請參閱版本說明。

連結