2025年9月25日: PostgreSQL 18 釋出!

PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 釋出!

釋出於 2025-02-13,作者:PostgreSQL 全球開發組
PostgreSQL 專案 安全

PostgreSQL 全球開發組釋出了對所有受支援的 PostgreSQL 版本的更新,包括 17.3、16.7、15.11、14.16 和 13.19。本次釋出修復了 1 個安全漏洞和過去幾個月報告的 70 多個錯誤。

有關更改的完整列表,請參閱 發行說明

安全問題

CVE-2025-1094:PostgreSQL 轉義 API 在文字編碼驗證失敗時未能正確處理轉義語法

CVSS v3.1 基礎分數:8.1

受支援的、有漏洞的版本:13 - 17。

PostgreSQL 中的 libpq 函式 PQescapeLiteral()PQescapeIdentifier()PQescapeString()PQescapeStringConn() 中的轉義語法未得到妥善處理,這使得資料庫輸入提供者能夠在某些使用模式下實現 SQL 注入。具體來說,SQL 注入要求應用程式使用函式結果來構造 psql(PostgreSQL 互動式終端)的輸入。同樣,PostgreSQL 命令列實用程式中的轉義語法未得到妥善處理,當 client_encodingBIG5server_encodingEUC_TWMULE_INTERNAL 時,命令列引數的來源可能導致 SQL 注入。受影響的版本包括 PostgreSQL 17.3、16.7、15.11、14.16 和 13.19 之前的版本。

PostgreSQL 專案感謝 Rapid7 的首席安全研究員 Stephen Fewer 報告了此問題。

錯誤修復和改進

本次更新修復了過去幾個月報告的 70 多個錯誤。下面列出的問題會影響 PostgreSQL 17。其中一些問題也可能影響 PostgreSQL 的其他受支援版本。

  • 為大於 63 位元組的資料庫名稱和使用者名稱在連線請求中恢復 v17 之前的截斷行為。
  • 不對並行工作程序執行連線許可權檢查和限制,而是讓它們繼承領導程序的許可權。
  • LWLock 等待事件名稱中移除 Lock 字尾。
  • 修復視窗聚合中可能出現的陳舊結果重用問題,這可能導致結果不正確。
  • 修復了 vacuum 中的幾個競態條件,最壞情況下可能導致系統目錄損壞。
  • 修復了 截斷表和索引的幾個問題,防止潛在的損壞。
  • 修復了在分離分割槽時,其自身的外部索引鍵約束引用了分割槽表的情況。
  • 修復了 to_timestampFFn(例如 FF1)格式程式碼,其中 FFn 前的整數格式程式碼會消耗所有可用數字。
  • 對 SQL/JSON 和 XMLTABLE() 進行修復,在必要時對特定條目進行雙引號處理。
  • pg_hba_file_rules() 中包含 ldapscheme 選項。
  • 修復了 UNION 的多個問題,包括不對具有不相容排序規則的列進行合併。
  • 修復了可能影響可用性或連線 PostgreSQL 速度的多個問題。
  • 修復了邏輯解碼輸出中的多個記憶體洩漏。
  • 修復了 PL/Python 中的多個記憶體洩漏。
  • 為 psql 添加了對 COPY (MERGE INTO) 的標籤補全。
  • 使 pg_controldata 在顯示來自損壞的 pg_control 檔案中的資訊時更具彈性。
  • 修復了使用 zstd 壓縮資料時 pg_restore 中的記憶體洩漏問題。
  • 修復了 pg_basebackup 在 Windows 上正確處理大小超過 2GB 的 pg_wal.tar 檔案的問題。
  • 修改 earthdistance 以使用 SQL 標準函式體,這修復了當資料庫使用此擴充套件時,與 v17 主要版本升級可能出現的問題。
  • 修復了在 brin_page_items() 函式定義未更新到最新版本的情況下,pageinspect 崩潰的問題。
  • 修復了嘗試取消 postgres_fdw 遠端查詢時的競態條件。

本次釋出還更新了時區資料檔案至 tzdata release 2025a,以應對巴拉圭的 DST 法規變更,並對菲律賓進行了歷史性修正。

更新

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

跳過一個或多個更新版本的使用者可能需要執行額外的更新後步驟;請參閱早期版本的發行說明以獲取詳細資訊。

有關更多詳細資訊,請參閱 發行說明

連結

如果您對此版本公告有任何更正或建議,請將其傳送至 pgsql-www@lists.postgresql.org 公共 郵件列表