---
id: CVE-2026-105617
title: >-
  PostgreSQL Anonymizer: Cached plans bypass transparent dynamic masking after a
  role change or a new masking rule
summary: >-
  PostgreSQL Anonymizer doesn't invalidate plans prepared after a rule was added
  or a role changed. Users using such plans can still see the unmasked data
  until the end of the session. The problem is resolved in PostgreSQL Anonymizer
  3.3.0…
severity: medium
cvss: 5.7
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N'
cvssSource: cna
cwe:
  - CWE-200
vendor: DALIBO
product: PostgreSQL Anonymizer
affected:
  - postgresql_anonymizer >= 1 < 3.3.0
published: '2026-10-28'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T17:31:48.320Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-105617'
references:
  - url: 'https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/695'
tags:
  - cve.org
ingestedAt: '2026-10-28T18:15:46.389Z'
---

## Overview

PostgreSQL Anonymizer doesn't invalidate plans prepared after a rule was added or a role changed. Users using such plans can still see the unmasked data until the end of the session. The problem is resolved in PostgreSQL Anonymizer 3.3.0 and later versions.

## Affected

- `postgresql_anonymizer >= 1 < 3.3.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

Disconnect active sessions after changing a masking rule.
