---
title: "PostgreSQL Anonymizer 3.3 修補十二個嚴重漏洞，遮罩角色可讀真實資料"
url: https://sammy.hk/postgresql-anonymizer-3-3/
author: Ethan
published: 2026-10-29T20:11:00+08:00
modified: 2026-10-29T09:55:07+08:00
description: "Dalibo 於 2026 年 10 月 27 日宣佈推出 PostgreSQL Anonymizer 3.3，並於 10 月 28 日在 PostgreSQL 官方網站剛出公佈。這個版本修補十二個嚴重漏洞，部分可讓已遮罩角色讀取真實個人資料，個別情況更可取得超級使用者權限。官方明確要求所有用戶儘快升級至 3.3[1]…"
categories: ["開放源碼"]
tags: [PostgreSQL, "漏洞修補", "資料庫", "資料脫敏"]
source: https://sammy.hk
---
![PostgreSQL Anonymizer 3.3 修補十二個嚴重漏洞，阻隔角色可讀真實資料](https://sammy.hk/wp-content/uploads/2026/10/og_35586.jpg)Dalibo 於 2026 年 10 月 27 日宣佈推出 PostgreSQL Anonymizer 3.3，並於 10 月 28 日在 PostgreSQL 官方網站剛出公佈。這個版本修補十二個嚴重漏洞，部分可讓已遮罩角色讀取真實個人資料，個別情況更可取得超級使用者權限。官方明確要求所有用戶儘快升級至 3.3\[1\]。

## 漏洞範圍涵蓋讀取與權限提升

十二個 CVE 由 Alexander Kukushkin 與 Ilya Staroverov 報告，覆蓋多個向面：

- CVE-2026-110181：遮罩角色可透過使用 SQL 標準函數主鍵的函數讀取真實資料
- CVE-2026-105615：遮罩角色可讀取 pg\_stats
- CVE-2026-105616：密鑰 salt 可在 pg\_db\_role\_setting 中讀取
- CVE-2026-110183：靜態遮罩完成後，pg\_stats 仍保留被遮罩欄位的原始值
- CVE-2026-105619：經 security\_invoker 檢視時不套用遮罩規則
- CVE-2026-105618：動態遮罩對繼承表失效
- CVE-2026-110182：anon.partial() 與 anon.partial\_email() 可洩露資料
- CVE-2026-105617：快取執行計劃可繞過透明動態遮罩
- CVE-2026-105620：可透過子查詢作未授權存取
- CVE-2026-105612：data-modifying CTE 可繞過唯讀限制
- CVE-2026-105614：影像相關函數記憶體配置無上限，構成阻斷服務
- CVE-2026-105613：範圍型 dummy 函數可引致阻斷服務

其中 pg\_stats 相關的兩個問題特別值得注意：即使資料表已完成靜態遮罩，統計資料仍可能留下原始值分佈，足以讓具備讀取權限的人推斷敏感內容。

## 升級帶來的相容性變更

3.3 引入多項限制以修補上述路徑，累積為破壞性變更，升級前必須先測試：

- 遮罩規則內不再允許子查詢
- 透明動態遮罩停用函數 inlining
- 在動態遮罩下，遮罩角色不得執行使用 SQL 標準函數主鍵的函數，包括 citext、earthdistance 等 contrib 擴充內的相關函數

若現有規則依賴子查詢，或依賴上述函數，升級後會直接報錯而非靜默失效。官方同時強烈建議更改 anon.salt 參數的值，因為舊 salt 已被視為可能外洩。

## 部署形態與影響面

PostgreSQL Anonymizer 提供六種遮罩策略：動態遮罩、靜態遮罩、複製遮罩、備份遮罩、遮罩檢視與遮罩資料包裝器，並可配合替換、鑽機化、偽造、假名化、局部打亂、洗牌、加噪與熵化等函數使用。

專框可透過 Debian 與 RPM 套件、Ansible role、Docker 映像等方式安裝，且可在多家資料庫代管服務上運行，包括阿里雲、Crunchy Bridge、Google Cloud SQL、IBM Cloud、Microsoft Azure Database、Neon 與 Yandex，並見於 EDB Advanced Postgres、Greenplum 與 Yugabyte 等分支支援。反之，3.3 之前的版本在這些環境一律受影響。

## 建議處理次序

先在測試環境以現有遮罩規則跑一次升級，確認子查詢與 SQL 標準函數主鍵這兩項限制不會中斷服務，再安排正式環境升級。更換 anon.salt 會令之後產生的遮罩值改變，若已有以舊 salt 產生的靜態遮罩資料，需評估是否重跑遮罩流程。除此之外還需清理 pg\_stats 中的殘歷史統計、稽核所有遮罩角色的實際權限，並檢查依賴是否自行快取了查詢計劃。

## 參考資料

\[1\] [PostgreSQL Anonymizer 3.3 : Major Security Update（2026-10-28）](https://www.postgresql.org/about/news/postgresql-anonymizer-33-major-security-update-3423/)

### 相關文章：

1. [PostgreSQL 19 延期至 11 月 19 日：RC2 先出，官方稱「不尋常的週期」](https://sammy.hk/postgresql-rc2/ "PostgreSQL 19 延期至 11 月 19 日：RC2 先出，官方稱「不尋常的週期」")
2. [【Ubuntu 12.04】AppArmor 令 MySQL 不能啟動](https://sammy.hk/ubuntu-12-04-apparmor-%e4%bb%a4-mysql-%e4%b8%8d%e8%83%bd%e5%95%9f%e5%8b%95/ "【Ubuntu 12.04】AppArmor 令 MySQL 不能啟動")
3. [MySQL 5.1 Replication](https://sammy.hk/mysql-5-1-replication/ "MySQL 5.1 Replication")
4. [pgx-bm25 1.0 面世：BM25 排序全文檢索成為 PostgreSQL 原生索引](https://sammy.hk/pgx-bm25-1-0-%e9%9d%a2%e4%b8%96%ef%bc%9abm25-%e6%8e%92%e5%ba%8f%e5%85%a8%e6%96%87%e6%aa%a2%e7%b4%a2%e6%88%90%e7%82%ba-postgresql-%e5%8e%9f%e7%94%9f%e7%b4%a2%e5%bc%95/ "pgx-bm25 1.0 面世：BM25 排序全文檢索成為 PostgreSQL 原生索引")
