PostgreSQL:PostgreSQL 9.3.3、9.2.7、9.1.12、9.0.16 和 8.4.20 已發布!

發布於 2014-02-20,作者:PostgreSQL 全球開發團隊

PostgreSQL 全球開發團隊已發布 PostgreSQL 資料庫系統所有支援版本的重要更新,其中包括次要版本 9.3.3、9.2.7、9.1.12、9.0.16 和 8.4.20。此更新包含多個安全性問題的修復程式,以及針對複寫和資料完整性問題的多項修復程式。強烈建議所有使用者盡早更新其安裝,尤其是使用二進位複寫或執行高安全性應用程式的使用者。

安全性修復

此更新修復了 CVE-2014-0060,其中 PostgreSQL 未正確強制執行 ROLE 管理的 WITH ADMIN OPTION 權限。在此修復程式之前,ROLE 的任何成員都可以授予其他人對同一 ROLE 的存取權,無論該成員是否被賦予 WITH ADMIN OPTION 權限。它還修復了多個權限提升問題,包括:CVE-2014-0061CVE-2014-0062CVE-2014-0063CVE-2014-0064CVE-2014-0065CVE-2014-0066。有關這些問題的更多資訊,請參閱我們的安全性頁面安全性問題詳細資訊 Wiki 頁面

在此版本中,我們還提醒使用者一個已知的安全性漏洞,該漏洞允許同一機器上的其他使用者在執行 "make check" 時獲得作業系統帳戶的存取權:CVE-2014-0067。"Make check" 通常是從原始程式碼建置 PostgreSQL 的一部分。由於不對我們的測試基礎架構造成重大問題,就無法修復此問題,因此將單獨且公開地發布修補程式。在此之前,強烈建議使用者不要在不受信任的使用者擁有帳戶的機器上執行 "make check"。

複寫和資料完整性修復

此更新還修復了一些影響二進位複寫和列鎖定的問題,在某些情況下可能會導致可恢復的資料損毀。修復了複寫期間索引頁面鎖定問題的幾個修復程式,這些問題可能會導致複本上的索引損毀。修復了 9.3 版中事務凍結錯誤,該錯誤可能導致多次循環執行事務 ID 回繞的資料庫重新出現舊的列版本。我們還修復了三個可能導致新的備用伺服器無法啟動的錯誤。最後,此更新修復了一個可能破壞外部索引鍵的問題,儘管應用更新後,仍然需要手動修復索引鍵本身。

在 9.3 版中,這些修復程式導致新增多個新的伺服器組態設定,以控制 multixact 凍結。重要的是,備用伺服器必須更新到 9.3.3 或更高版本,然後才能更新複寫主伺服器,否則複寫將會中斷。

其他改進

除了上述內容之外,此版本還修復了以下問題

  • 修復可見性對應變更的 WAL 記錄
  • 確保 GIN 索引記錄所有插入
  • 讓 pause_at_recovery_target 在正確的時間暫停
  • 確保 walreceiver 準時發送熱備用回饋訊息
  • 防止逾時中斷從主程式碼奪取控制權
  • 消除多個競爭條件
  • 修復錯誤訊息中一些損壞的 HINT
  • 防止伺服器在 SSL 連線中斷時鎖定
  • 修復兩個 Unicode 處理問題
  • 防止在特定子查詢語法上崩潰
  • 防止從零列資料表中選取時崩潰
  • 修復 LATERAL 的兩個錯誤
  • 修復 UNION ALL、分割和更新的問題
  • 確保 ANALYZE 了解範圍上的網域
  • 在使用預設表格空間時消除權限檢查
  • 修復 JSON 函式中的記憶體洩漏
  • 允許帶有事件觸發器的擴充功能
  • 在 JSON 輸出中正確區分數字
  • 修復 pg_start_backup() 和 pg_stop_backup() 的權限
  • 接受 SHIFT_JIS 作為地區設定名稱
  • 修復 SQL 函式變數的 .* 展開
  • 防止某些 COPY 連線失敗時發生無限迴圈
  • 修復 Windows 上的一些用戶端問題
  • 能夠使用 Visual Studio 2013 建置 PostgreSQL
  • 更新最近變更的時區檔案

所有以下可選模組(擴充功能)也進行了修復:ECPG、dblink、ISN、pgbench、pg_stat_statements 和 postgres_fdw。其他變更和上述某些問題的詳細資訊可以在版本說明中找到。

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

連結:* 下載 * 版本說明 * 安全性頁面 * 安全性問題詳細資訊頁面