This security release fixes a vulnerability in the built-in XML functionality, and a vulnerability in the XSLT functionality supplied by the optional XML2 extension. Both vulnerabilities allow reading of arbitrary files by any authenticated database user, and the XSLT vulnerability allows writing files as well. The fixes cause limited backwards compatibility issues. These issues correspond to the following two vulnerabilities:
- Updates and corrections to time zone data
- Multiple documentation updates and corrections
- Add limit on max_wal_senders
- Fix dependencies generated during ALTER TABLE ADD CONSTRAINT USING INDEX.
- Correct behavior of unicode conversions for PL/Python
- Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT).
- Fix syslogger so that log_truncate_on_rotation works in the first rotation.
- Only allow autovacuum to be auto-canceled by a directly blocked process.
- Improve fsync request queue operation
- Prevent corner-case core dump in rfree().
- Fix Walsender so that it responds correctly to timeouts and deadlocks
- Several PL/Perl fixes for encoding-related issues
- Make selectivity operators use the correct collation
- Prevent unsuitable slaves from being selected for synchronous replication
- Make REASSIGN OWNED work on extensions as well
- Fix race condition with ENUM comparisons
- Make NOTIFY cope with out-of-disk-space
- Fix memory leak in ARRAY subselect queries
- Reduce data loss at replication failover
- Fix behavior of subtransactions with Hot Standby
As with other minor releases, users are not required to dump and reload their database or use pg_upgrade in order to apply this update release; you may simply shut down PostgreSQL and update its binaries. Perform post-update steps after the database is restarted.
All supported versions of PostgreSQL are affected. See the release notes for each version for a full list of changes with details of the fixes and steps.
Download new versions now at the main download page.