2016-02-11 安全更新發布

發布於 2016-02-11,由 PostgreSQL 全球開發團隊

PostgreSQL 全球開發團隊已發布所有支援版本的資料庫系統更新,包括 9.5.1、9.4.6、9.3.11、9.2.15 和 9.1.20。此版本修復了兩個安全問題,以及過去四個月中發現的幾個錯誤。易受安全問題影響的使用者應立即更新其安裝,其他使用者應在下一次排定的停機時間更新。

針對正規表示式、PL/Java 的安全修復

此版本關閉了安全漏洞 CVE-2016-0773,這是正規表示式 (regex) 解析的問題。先前的程式碼允許使用者傳入包含超出範圍的 Unicode 字元的表示式,從而觸發後端崩潰。對於具有不受信任使用者或根據使用者輸入產生正規表示式的 PostgreSQL 系統,此問題至關重要。

此更新也修復了 CVE-2016-0766,PL/Java 使用者的權限提升問題。現在,PL/Java 的某些自定義配置設定 (GUCS) 只能由資料庫超級使用者修改。

其他修復和改進

除了上述之外,此版本還根據我們使用者在過去幾個月中回報的錯誤修補了許多其他問題。這包括對 9.5.0 版中引入的新功能的多次修復,以及 pg_dump 的重構,以消除許多備份 EXTENSION 的長期問題。其中包括

  • 修復 pg_dump 中特定物件類型的許多問題
  • 防止過度積極地下推 GROUPING SETS 的 HAVING 子句
  • 修復 ON CONFLICT ... WHERE 子句的解構錯誤
  • 修復 postgres_fdw 的 tableoid 錯誤
  • 防止 pgbench 中的浮點異常
  • 使 \det 以一致的方式搜尋外部表名稱
  • 修復 pg_dump 中網域約束名稱的引用
  • 防止將展開的物件放入 Const 節點中
  • 允許在 Windows 上編譯 PL/Java
  • 修復 PL/Python 執行中的「未解析符號」錯誤
  • 允許在同一個資料庫中使用 Python2 和 Python3
  • 在 PL/Python 中新增對 Python 3.5 的支援
  • 修復 initdb 期間子目錄建立的問題
  • 使 pg_ctl 在 Windows 上正確報告狀態
  • 在使用 pg_receivexlog 與舊版伺服器時,抑制令人困惑的錯誤
  • 多個文件更正和新增
  • 修復 gin_extract_jsonb_path() 中的錯誤雜湊計算

此更新還包含 tzdata 版本 2016a,其中包含開曼群島、梅特拉卡特拉、外貝加爾邊疆區 (Zabaykalsky Krai) 和巴基斯坦的更新。

更新

版本 9.4 的使用者需要重新索引他們建立的所有 jsonb_path_ops 索引,以修復缺少索引條目的永久性問題。跳過多個更新版本的其他版本的使用者可能需要執行其他更新後步驟;請參閱版本說明以獲取詳細資訊。

所有 PostgreSQL 更新版本都是累積的。與其他小版本一樣,使用者不需要傾印和重新載入其資料庫或使用 pg_upgrade 即可套用此更新版本;您可以直接關閉 PostgreSQL 並更新其二進位檔案。

連結