安全性更新 2012-08-17 發布

由 PostgreSQL Global Development Group 於 2012-08-17 發布

PostgreSQL Global Development Group 今天針對 PostgreSQL 資料庫系統的所有現有分支發布了安全性更新,包括版本 9.1.59.0.98.4.138.3.20。此更新修補了與 libxml2 和 libxslt 相關的安全性漏洞,類似於影響其他開放原始碼專案的漏洞。強烈建議所有使用者在第一時間更新其安裝。

此安全性版本修正了內建 XML 功能中的漏洞,以及可選 XML2 擴充功能提供的 XSLT 功能中的漏洞。 這兩個漏洞都允許任何經過身份驗證的資料庫使用者讀取任意檔案,並且 XSLT 漏洞還允許寫入檔案。 這些修復會導致有限的向後相容性問題。 這些問題對應於以下兩個漏洞

此版本還包含對 9.1 版的幾個修復,以及對舊版本的少量修復,包括

  • 時區資料的更新和更正
  • 多個文件更新和更正
  • 新增 max_wal_senders 限制
  • 修正 ALTER TABLE ADD CONSTRAINT USING INDEX 期間產生的相依性。
  • 更正 PL/Python 的 Unicode 轉換行為
  • 修正附加到巢狀集合運算 (UNION/INTERSECT/EXCEPT) 的 WITH 子句。
  • 修正 syslogger,以便 log_truncate_on_rotation 在第一次輪替時生效。
  • 僅允許由直接封鎖的進程自動取消自動清理。
  • 改善 fsync 請求佇列操作
  • 防止 rfree() 中出現極端情況下的核心傾印。
  • 修正 Walsender,使其能夠正確回應逾時和死鎖
  • 針對編碼相關問題的幾個 PL/Perl 修復
  • 使選擇性運算子使用正確的排序規則
  • 防止選擇不適合的從屬伺服器進行同步複製
  • 使 REASSIGN OWNED 也能在擴充功能上運作
  • 修正 ENUM 比較中的競爭條件
  • 使 NOTIFY 能夠處理磁碟空間不足的情況
  • 修正 ARRAY 子查詢中的記憶體洩漏
  • 減少複製容錯移轉時的資料遺失
  • 修正使用 Hot Standby 的子交易行為

依賴內建 XML 功能來驗證外部 DTD 的使用者需要實作一種解決方案,因為此安全性修補程式會停用該功能。 使用 xslt_process() 從外部 URL 提取文件或樣式表的使用者將無法再執行此操作。 PostgreSQL 專案對於需要停用這兩個功能以維持我們的安全標準表示遺憾。 XML 的這些安全問題與 Webkit (CVE-2011-1774)、XMLsec (CVE-2011-1425) 和 PHP5 (CVE-2012-0057) 專案最近修補的問題非常相似。

與其他次要版本一樣,使用者無需轉儲和重新載入資料庫或使用 pg_upgrade 即可套用此更新版本; 您只需關閉 PostgreSQL 並更新其二進位檔案。 在資料庫重新啟動後執行更新後步驟。

所有支援的 PostgreSQL 版本都受到影響。 請參閱每個版本的版本說明,以取得包含修復詳細資訊和步驟的完整變更清單。

立即在主要下載頁面下載新版本。