* New upstream security/bug fix release: (LP: #496923)
- Protect against indirect security threats caused by index functions
changing session-local state. This change prevents allegedly-immutable
index functions from possibly subverting a superuser's session
(CVE-2009-4136).
- Reject SSL certificates containing an embedded null byte in the
common name (CN) field. This prevents unintended matching of a
certificate to a server or client name during SSL validation
(CVE-2009-4034).
- Fix hash index corruption. The 8.4 change that made hash indexes keep
entries sorted by hash value failed to update the bucket splitting and
compaction routines to preserve the ordering. So application of either
of those operations could lead to permanent corruption of an index, in
the sense that searches might fail to find entries that are present. To
deal with this, it is recommended to REINDEX any hash indexes you may
have after installing this update.
- Fix possible crash during backend-startup-time cache initialization.
- Avoid crash on empty thesaurus dictionary.
- Prevent signals from interrupting VACUUM at unsafe times.
- Fix possible crash due to integer overflow in hash table size
calculation.
- Fix crash if a DROP is attempted on an internally-dependent object.
- Fix very rare crash in inet/cidr comparisons.
- Ensure that shared tuple-level locks held by prepared transactions
are not ignored.
- Fix premature drop of temporary files used for a cursor that is
accessed within a subtransaction.
- Fix memory leak in syslogger process when rotating to a new CSV
logfile.
- Fix memory leak in postmaster when re-parsing "pg_hba.conf".
- Make FOR UPDATE/SHARE in the primary query not propagate into WITH
queries.
- Fix bug with a WITH RECURSIVE query immediately inside another one.
- Fix concurrency bug in hash indexes.
- Fix incorrect logic for GiST index page splits, when the split
depends on a non-first column of the index.
- Fix wrong search results for a multi-column GIN index with
fastupdate enabled.
- Fix bugs in WAL entry creation for GIN indexes.
- Don't error out if recycling or removing an old WAL file fails at
the end of checkpoint.
- Fix PAM password processing to be more robust.
The previous code is known to fail with the combination of the
Linux pam_krb5 PAM module with Microsoft Active Directory as the
domain controller. It might have problems elsewhere too, since it
was making unjustified assumptions about what arguments the PAM
stack would pass to it.
- Raise the maximum authentication token (Kerberos ticket) size in
GSSAPI and SSPI authentication methods. While the old 2000-byte limit
was more than enough for Unix Kerberos implementations, tickets issued
by Windows Domain Controllers can be much larger.
- Ensure that domain constraints are enforced in constructs like
ARRAY[...]::domain, where the domain is over an array type.
- Fix foreign-key logic for some cases involving composite-type
columns as foreign keys.
- Ensure that a cursor's snapshot is not modified after it is created.
- Fix CREATE TABLE to properly merge default expressions coming from
different inheritance parent tables. This used to work but was broken in
8.4.
- Re-enable collection of access statistics for sequences. This used to
work but was broken in 8.3.
- Fix processing of ownership dependencies during CREATE OR REPLACE
FUNCTION.
- Fix incorrect handling of WHERE "x"="x" conditions.
In some cases these could get ignored as redundant, but they aren't
-- they're equivalent to "x" IS NOT NULL.
- Fix incorrect plan construction when using hash aggregation to
implement DISTINCT for textually identical volatile expressions
- Fix Assert failure for a volatile SELECT DISTINCT ON expression
- Fix ts_stat() to not fail on an empty tsvector value
- Make text search parser accept underscores in XML attributes
- Fix encoding handling in xml binary input.
If the XML header doesn't specify an encoding, we now assume UTF-8
by default; the previous handling was inconsistent.
- Fix bug with calling plperl from plperlu or vice versa.
- Fix session-lifespan memory leak when a PL/Perl function is
redefined.
- Ensure that Perl arrays are properly converted to PostgreSQL arrays
when returned by a set-returning PL/Perl function.
- Fix rare crash in exception processing in PL/Python.
- Fix ecpg problem with comments in DECLARE CURSOR statements
- Fix ecpg to not treat recently-added keywords as reserved words
This affected the keywords CALLED, CATALOG, DEFINER, ENUM,
FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY,
SERVER, UNBOUNDED, and WRAPPER.
- Re-allow regular expression special characters in psql's \df
function name parameter.
- Put FREEZE and VERBOSE options in the right order in the VACUUM
command that "contrib/vacuumdb" produces.
- Fix possible leak of connections when "contrib/dblink" encounters
an error
- Make the postmaster ignore any application_name parameter in
connection request packets, to improve compatibility with future
libpq versions.
-- Martin Pitt <email address hidden> Tue, 15 Dec 2009 14:57:07 +0100
This bug was fixed in the package postgresql-8.4 - 8.4.2-0ubuntu9.10
---------------
postgresql-8.4 (8.4.2-0ubuntu9.10) karmic-security; urgency=low
* New upstream security/bug fix release: (LP: #496923) CVE-2009- 4136). CVE-2009- 4034). startup- time cache initialization. dependent object. ...]::domain, where the domain is over an array type.
- Protect against indirect security threats caused by index functions
changing session-local state. This change prevents allegedly-immutable
index functions from possibly subverting a superuser's session
(
- Reject SSL certificates containing an embedded null byte in the
common name (CN) field. This prevents unintended matching of a
certificate to a server or client name during SSL validation
(
- Fix hash index corruption. The 8.4 change that made hash indexes keep
entries sorted by hash value failed to update the bucket splitting and
compaction routines to preserve the ordering. So application of either
of those operations could lead to permanent corruption of an index, in
the sense that searches might fail to find entries that are present. To
deal with this, it is recommended to REINDEX any hash indexes you may
have after installing this update.
- Fix possible crash during backend-
- Avoid crash on empty thesaurus dictionary.
- Prevent signals from interrupting VACUUM at unsafe times.
- Fix possible crash due to integer overflow in hash table size
calculation.
- Fix crash if a DROP is attempted on an internally-
- Fix very rare crash in inet/cidr comparisons.
- Ensure that shared tuple-level locks held by prepared transactions
are not ignored.
- Fix premature drop of temporary files used for a cursor that is
accessed within a subtransaction.
- Fix memory leak in syslogger process when rotating to a new CSV
logfile.
- Fix memory leak in postmaster when re-parsing "pg_hba.conf".
- Make FOR UPDATE/SHARE in the primary query not propagate into WITH
queries.
- Fix bug with a WITH RECURSIVE query immediately inside another one.
- Fix concurrency bug in hash indexes.
- Fix incorrect logic for GiST index page splits, when the split
depends on a non-first column of the index.
- Fix wrong search results for a multi-column GIN index with
fastupdate enabled.
- Fix bugs in WAL entry creation for GIN indexes.
- Don't error out if recycling or removing an old WAL file fails at
the end of checkpoint.
- Fix PAM password processing to be more robust.
The previous code is known to fail with the combination of the
Linux pam_krb5 PAM module with Microsoft Active Directory as the
domain controller. It might have problems elsewhere too, since it
was making unjustified assumptions about what arguments the PAM
stack would pass to it.
- Raise the maximum authentication token (Kerberos ticket) size in
GSSAPI and SSPI authentication methods. While the old 2000-byte limit
was more than enough for Unix Kerberos implementations, tickets issued
by Windows Domain Controllers can be much larger.
- Ensure that domain constraints are enforced in constructs like
ARRAY[
- Fix foreign-key logic for some cases involving composite-type
columns as foreign keys.
- Ensure that a cursor's snapshot is not modified after it is created.
- Fix CREATE TABLE to properly merge default expressions coming from
different inheritance parent tables. This used to work but was broken in
8.4.
- Re-enable collection of access statistics for sequences. This used to
work but was broken in 8.3.
- Fix processing of ownership dependencies during CREATE OR REPLACE
FUNCTION.
- Fix incorrect handling of WHERE "x"="x" conditions.
In some cases these could get ignored as redundant, but they aren't
-- they're equivalent to "x" IS NOT NULL.
- Fix incorrect plan construction when using hash aggregation to
implement DISTINCT for textually identical volatile expressions
- Fix Assert failure for a volatile SELECT DISTINCT ON expression
- Fix ts_stat() to not fail on an empty tsvector value
- Make text search parser accept underscores in XML attributes
- Fix encoding handling in xml binary input.
If the XML header doesn't specify an encoding, we now assume UTF-8
by default; the previous handling was inconsistent.
- Fix bug with calling plperl from plperlu or vice versa.
- Fix session-lifespan memory leak when a PL/Perl function is
redefined.
- Ensure that Perl arrays are properly converted to PostgreSQL arrays
when returned by a set-returning PL/Perl function.
- Fix rare crash in exception processing in PL/Python.
- Fix ecpg problem with comments in DECLARE CURSOR statements
- Fix ecpg to not treat recently-added keywords as reserved words
This affected the keywords CALLED, CATALOG, DEFINER, ENUM,
FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY,
SERVER, UNBOUNDED, and WRAPPER.
- Re-allow regular expression special characters in psql's \df
function name parameter.
- Put FREEZE and VERBOSE options in the right order in the VACUUM
command that "contrib/vacuumdb" produces.
- Fix possible leak of connections when "contrib/dblink" encounters
an error
- Make the postmaster ignore any application_name parameter in
connection request packets, to improve compatibility with future
libpq versions.
-- Martin Pitt <email address hidden> Tue, 15 Dec 2009 14:57:07 +0100