# CVE-2026-97469: PostgreSQL Anonymizer restricted function bypass in anon.hash()

Source: https://junglewise.ai/threats/cve-2026-97469-postgresql-anonymizer-contains-a-vulnerability-that-allows  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-25. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-97469 · Severity: medium · CVSS 4.3 · Published 2026-09-25

PostgreSQL Anonymizer is an extension that masks sensitive data in databases. A vulnerability allows unprivileged database users with masked roles to repeatedly call a restricted hashing function and collect outputs to perform offline attacks that can reveal the salt used for data anonymization, compromising the security of masked records.

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

## Quick answers

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

**How severe is CVE-2026-97469?** Medium severity, with a CVSS score of 4.3, published 25 September 2026.

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

**Is there a fix for CVE-2026-97469?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

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

**Am I affected by CVE-2026-97469?** 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.

## Technical details

The vulnerability allows masked users to bypass function access restrictions by invoking anon.hash() within a sub-select query, enabling collection of (seed, hash_output) pairs for offline brute-force attacks against the salt. The issue affects PostgreSQL Anonymizer versions prior to 3.2.3, and the root cause is improper enforcement of RESTRICTED function access controls. An attacker with database login credentials and a masked role can exploit this without elevated privileges.

## Affected products

- Dalibo PostgreSQL Anonymizer before 3.2.3

## Timeline

- 2026-09-25: disclosed

## References

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

## 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)
