gitlab dalibo/postgresql_anonymizer 3.3.0

5 hours ago

20260925 : 3.3.0 - Major Security Update

  • CVE-2026-110181 : Masked roles read the authentic data through SQL functions with a SQL-standard body
  • CVE-2026-105615 : Masked roles can read pg_stats (Thanks to Ilya Staroverov)
  • CVE-2026-105616 : The secret salt is readable in pg_db_role_setting (Thanks to Ilya Staroverov)
  • CVE-2026-110183 : After the static masking, pg_stats keeps the authentic values of the masked columns (Thanks to Ilya Staroverov)
  • CVE-2026-105619 : Masking rules are not applied through security_invoker views (Thanks to Ilya Staroverov)
  • CVE-2026-105618 : Dynamic masking does not work on inherited tables (Thanks to Ilya Staroverov)
  • CVE-2026-110182 : anon.partial() and anon.partial_email() can leak data
  • CVE-2026-105617 : Cached plans bypass transparent dynamic masking (Thanks to Ilya Staroverov)
  • CVE-2026-105620 : Unauthorized access via subqueries (Thanks to Ilya Staroverov)
  • CVE-2026-105612 : Data-modifying CTEs bypass the read-only restriction (Thanks to Ilya Staroverov)
  • CVE-2026-105614 : Unbounded memory allocation (DoS) in image functions (Thanks to Alexander Kukushkin)
  • CVE-2026-105613 : DoS in range-based dummy functions (Thanks to Alexander Kukushkin)
  • [detection] fix schema detection
  • [core] Masked roles can't declare seclabels (Thanks to Ilya Staroverov)
  • [static] FIX #699 : static masking should ignore views (Thanks to Ilya Staroverov)
  • [generalization] handle range edge cases
  • [core] filter non maskable entities
  • [static] FIX 723 : With FORCE ROW LEVEL SECURITY, static masking leaves the rows hidden from the owner authentic and reports success
  • [static] check identity columns
  • [k_anonimity] change k_anonymity to stable
  • [parallel] Balance worker load with a greedy LPT schedule
  • [core] fix server crash
  • [generalization] make generalization functions strict
  • [random] add multi dimension array test
  • [random] fix null when array index starts not at 1
  • [core] Upgrade to PGRX 0.19.3
  • [impexp] FIX #689 - Harmless SQL injection using the provider parameter of import functions (Thanks to Alexander Kukushkin)
  • [core] FIX #692 - Properly quote column identifiers (Thanks to Alexander Kukushkin)
  • [noise] FIX #704 - addnoise* function support for schema-qualified and uppercase tables (thanks to Ilya Staroverov)
  • [dynamic] Respect NOT MASKED on generated columns during dynamic masking
  • [reorg] move extension_sql_file in the masking module
  • [reorg] clean up
  • [reorg] move utils functions in the utils module
  • [parallel] Catch and mitigate bgworker extra_data() overflow
  • [core] Replace anon.pg_masking_rules by anon.seclabels & anon.{user|sys|all}_rules
  • [reorg] move pseudo functions into the masking_functions module
  • [reorg] Move impexp functions into the impexp module
  • [reorg] move dummy functions into the masking_functions module
  • [reorg] Move ldp functions into the masking_functions module
  • [reorg] move random functions into the masking_functions module
  • [reorg] Move noise functions into the masking_functions module
  • [reorg] move seeded functions into the masking_functions module
  • [reorg] Move image functions outside of lib.rs
  • [reorg] Move the static/parallel/replica masking to their own module masking
  • [doc] New Repo
  • [random] Move random_phone(text) to Rust
  • [random] Move random_string(int) to Rust
  • [pseudo] Move pseudo_shift() and pseudo_xor() to Rust
  • [regress] Migrate all the old pg_regress tests
  • [static] Add anon.anonymize_schema() to mask a single schema
  • [parallel] Fix InvalidPosition in parallel masking
  • [doc] fix markdown format

Don't miss a new postgresql_anonymizer release

NewReleases is sending notifications on new releases.