# CVE-2026-105617: PostgreSQL Anonymizer prepared plan cache invalidation bypass

Source: https://junglewise.ai/threats/cve-2026-105617-postgresql-anonymizer-doesn-t-invalidate-plans-prepared-after-a  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-28. Updated: 2026-10-28  
License: CC BY 4.0 with a link back

CVE-2026-105617 · Severity: medium · CVSS 6.5 · Published 2026-10-28

PostgreSQL Anonymizer is an extension that masks sensitive database data from unauthorized users. When administrators add masking rules or change user roles, the extension fails to invalidate cached query plans, allowing users to see unmasked data through previously prepared statements until their database session ends. This could expose sensitive information despite active masking policies.

Technologies: [Dalibo PostgreSQL Anonymizer](https://junglewise.ai/threats/technologies/postgresql-anonymizer). Vendors: [Dalibo](https://junglewise.ai/threats/vendors/dalibo).

## Quick answers

**Is CVE-2026-105617 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-105617 being exploited in the wild.

**How severe is CVE-2026-105617?** Medium severity, with a CVSS score of 6.5, published 28 October 2026.

**Which products and versions are affected?** Dalibo PostgreSQL Anonymizer before 3.3.0.

**Is there a fix for CVE-2026-105617?** Yes: fixed in PostgreSQL Anonymizer 3.3.0 and later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-105617 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-105617?** Check whether you run Dalibo PostgreSQL Anonymizer at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in PostgreSQL Anonymizer 3.3.0 and later

## Technical details

PostgreSQL Anonymizer does not invalidate prepared query plans after masking rules are added or user roles are modified. An authenticated user with an existing prepared statement can continue executing it to retrieve unmasked data, bypassing the intended masking policy. This affects versions prior to 3.3.0 and requires an active database session to exploit.

## Affected products

- Dalibo PostgreSQL Anonymizer before 3.3.0

## Timeline

- 2026-10-28: disclosed

## References

- [https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/695](https://gitlab.com/dalibo/postgresql_anonymizer/-/issues/695)

## Related threats

- [PostgreSQL Anonymizer statistics leak in static masking](https://junglewise.ai/threats/cve-2026-110183-postgresql-anonymizer-contains-a-vulnerability-related-to-static)
- [PostgreSQL Anonymizer information disclosure in partial() functions](https://junglewise.ai/threats/cve-2026-110182-postgresql-anonymizer-contains-a-vulnerability-related-to-the)
- [PostgreSQL Anonymizer SQL-standard function body bypass](https://junglewise.ai/threats/cve-2026-110181-postgresql-anonymizer-contains-a-vulnerability-related-to)
- [PostgreSQL Anonymizer data masking bypass in sub-query rules](https://junglewise.ai/threats/cve-2026-105620-postgresql-anonymizer-doesn-t-mask-data-returned-by-a-sub-query)
- [PostgreSQL Anonymizer data masking bypass in security_invoker views](https://junglewise.ai/threats/cve-2026-105619-postgresql-anonymizer-doesn-t-mask-data-accessed-thru-a-security)
