-
postgresql-12 (12.19-0ubuntu0.20.04.1) focal; urgency=medium
* New upstream version (LP: #2067388).
+ A dump/restore is not required for those running 12.X.
+ Also, if you are upgrading from a version earlier than 12.18, see
those release notes as well please.
+ Fix INSERT from multiple VALUES rows into a target column that is a
domain over an array or composite type (Tom Lane)
Such cases would either fail with surprising complaints about
mismatched datatypes, or insert unexpected coercions that could lead
to odd results.
+ Fix incorrect pruning of NULL partition when a table is partitioned
on a boolean column and the query has a boolean IS NOT clause (David
Rowley)
A NULL value satisfies a clause such as boolcol IS NOT FALSE, so
pruning away a partition containing NULLs yielded incorrect answers.
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-19.html
* d/postgresql-12.NEWS: Update.
-- Sergio Durigan Junior <email address hidden> Tue, 28 May 2024 09:30:50 -0400
-
postgresql-12 (12.18-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #2052850).
+ A dump/restore is not required for those running 12.X.
+ However, one bug was fixed that could have resulted in corruption of
GIN indexes during concurrent updates. If you suspect such
corruption, reindex affected indexes after installing this update.
+ Also, if you are upgrading from a version earlier than 12.17, see
those release notes as well please.
+ Tighten security restrictions within REFRESH MATERIALIZED
VIEW CONCURRENTLY (Heikki Linnakangas)
One step of a concurrent refresh command was run under weak security
restrictions. If a materialized view's owner could persuade a
superuser or other high-privileged user to perform a concurrent
refresh on that view, the view's owner could control code executed
with the privileges of the user running REFRESH.
Fix things so that all user-determined code is run as the view's
owner, as expected.
The only known exploit for this error does not work in PostgreSQL
16.0 and later, so it may be that v16 is not vulnerable in practice.
The PostgreSQL Project thanks Pedro Gallegos for reporting this
problem.
(CVE-2024-0985)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-18.html
* d/postgresql-12.NEWS: Update.
-- Athos Ribeiro <email address hidden> Thu, 15 Feb 2024 15:19:37 -0300
-
postgresql-12 (12.17-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #2040469).
+ A dump/restore is not required for those running 12.X.
+ However, if you use GiST indexes, it may be advisable to reindex them.
+ Also, if you are upgrading from a version earlier than 12.16, see
those release notes as well please.
+ Fix handling of unknown-type arguments in DISTINCT "any" aggregate
functions (Tom Lane)
This error led to a text-type value being interpreted as an unknown-type
value (that is, a zero-terminated string) at runtime. This could result
in disclosure of server memory following the text value.
(CVE-2023-5868)
+ Detect integer overflow while computing new array dimensions
(Tom Lane)
When assigning new elements to array subscripts that are outside the
current array bounds, an undetected integer overflow could occur in edge
cases. Memory stomps that are potentially exploitable for arbitrary code
execution are possible, and so is disclosure of server memory.
(CVE-2023-5869)
+ Prevent the <literal>pg_signal_backend</literal> role from
signalling background workers and autovacuum processes (Noah Misch,
Jelte Fennema-Nio)
The documentation says that pg_signal_backend cannot issue signals to
superuser-owned processes. It was able to signal these background
processes, though, because they advertise a role OID of zero. Treat that
as indicating superuser ownership. The security implications of
cancelling one of these process types are fairly small so far as the
core code goes (we'll just start another one), but extensions might add
background workers that are more vulnerable.
Also ensure that the is_superuser parameter is set correctly in such
processes. No specific security consequences are known for that
oversight, but it might be significant for some extensions.
(CVE-2023-5870)
+ Fix misbehavior during recursive page split in GiST index build
(Heikki Linnakangas)
Fix a case where the location of a page downlink was incorrectly
tracked, and introduce some logic to allow recovering from such
situations rather than silently doing the wrong thing. This error
could result in incorrect answers from subsequent index searches.
It may be advisable to reindex all GiST indexes after installing
this update.
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-17.html.
* d/p/libpgport-pkglibdir: Adjust patch to reflect upstream changes.
* d/p/50-per-version-dirs.patch: Adjust TestLib.pm's
scan_server_header and check_pg_config to account for
unrelocatability of pg_config.
These changes are needed because, during build time,
we want to be able to run the upstream tests using the pg_config
binary from inside the "debian/" directory, but that doesn't work out
of the box because it will print includedir paths that also point to
"debian/", instead of to "/usr/include". Therefore, we need to catch
this specific scenario and print the proper includedir paths instead.
-- Sergio Durigan Junior <email address hidden> Wed, 22 Nov 2023 21:50:50 -0500
-
postgresql-12 (12.16-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #2028426).
+ A dump/restore is not required for those running 12.X.
+ However, if you use BRIN indexes, it may be advisable to reindex them.
+ Also, if you are upgrading from a version earlier than 12.10, see
those release notes as well please.
+ Disallow substituting a schema or owner name into an extension script
if the name contains a quote, backslash, or dollar sign (Noah Misch)
This restriction guards against SQL-injection hazards for trusted
extensions.
(CVE-2023-39417)
+ Fix confusion between empty (no rows) ranges and all-NULL ranges in
BRIN indexes, as well as incorrect merging of all-NULL summaries
(Tomas Vondra)
Each of these oversights could result in forgetting that a BRIN
index range contains any NULL values, potentially allowing
subsequent queries that should return NULL values to miss doing so.
This fix will not in itself correct faulty BRIN entries.
It's recommended to REINDEX any BRIN indexes that
may be used to search for nulls.
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-16.html.
-- Sergio Durigan Junior <email address hidden> Thu, 11 May 2023 15:58:10 -0400
-
postgresql-12 (12.15-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #2019214).
+ A dump/restore is not required for those running 12.X.
+ Also, if you are upgrading from a version earlier than 12.10, see
those release notes as well please.
+ Prevent CREATE SCHEMA from defeating changes in search_path
(Alexander Lakhin)
Within a CREATE SCHEMA command, objects in the prevailing
search_path, as well as those in the newly-created schema, would be
visible even within a called function or script that attempted to set
a secure search_path. This could allow any user having permission to
create a schema to hijack the privileges of a security definer
function or extension script.
(CVE-2023-2454)
+ Enforce row-level security policies correctly after inlining a
set-returning function (Stephen Frost, Tom Lane)
If a set-returning SQL-language function refers to a table having
row-level security policies, and it can be inlined into a calling
query, those RLS policies would not get enforced properly in some
cases involving re-using a cached plan under a different role. This
could allow a user to see or modify rows that should have been
invisible.
(CVE-2023-2455)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-15.html.
-- Sergio Durigan Junior <email address hidden> Thu, 11 May 2023 15:58:10 -0400
-
postgresql-12 (12.14-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #2006406).
+ A dump/restore is not required for those running 12.X.
+ Also, if you are upgrading from a version earlier than 12.10, see
those release notes as well please.
+ libpq can leak memory contents after GSSAPI transport encryption
initiation fails (Jacob Champion).
(CVE-2022-41862)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-14.html
-- Athos Ribeiro <email address hidden> Thu, 09 Feb 2023 18:44:37 -0300
-
postgresql-12 (12.13-0ubuntu0.20.04.1) focal; urgency=medium
* New upstream version (LP: #1996770).
+ A dump/restore is not required for those running 12.X.
+ Also, if you are upgrading from a version earlier than 12.10, see
those release notes as well please.
+ Disallow rules named _RETURN that are not ON SELECT rules (Tom Lane).
+ Fix use-after-free hazard in string comparisons. (Tom Lane)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-13.html
-- Sergio Durigan Junior <email address hidden> Thu, 17 Nov 2022 17:07:25 -0500
-
postgresql-12 (12.12-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #1984012).
+ A dump/restore is not required for those running 12.X.
+ Also, if you are upgrading from a version earlier than 12.10, see
those release notes as well please.
+ Do not let extension scripts replace objects not already belonging
to the extension (Tom Lane).
(CVE-2022-2625)
+ Fix permissions checks in CREATE INDEX (Nathan Bossart,
Noah Misch).
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-12.html
-- Athos Ribeiro <email address hidden> Thu, 11 Aug 2022 16:54:40 -0300
-
postgresql-12 (12.11-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #1973627)
+ A dump/restore is not required for those running 12.X.
+ However, if you are upgrading from a version earlier than 12.10,
see those release notes as well.
+ Confine additional operations within "security restricted operation"
sandboxes (Sergey Shinderuk, Noah Misch).
Autovacuum, CLUSTER, CREATE INDEX, REINDEX, REFRESH MATERIALIZED VIEW,
and pg_amcheck activated the "security restricted operation" protection
mechanism too late, or even not at all in some code paths. A user having
permission to create non-temporary objects within a database could
define an object that would execute arbitrary SQL code with superuser
permissions the next time that autovacuum processed the object, or that
some superuser ran one of the affected commands against it.
The PostgreSQL Project thanks Alexander Lakhin for reporting this
problem.
(CVE-2022-1552)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-11.html
-- Sergio Durigan Junior <email address hidden> Tue, 17 May 2022 22:10:51 -0400
-
postgresql-12 (12.10-0ubuntu0.20.04.1) focal; urgency=medium
* New upstream version (LP: #1961127).
+ A dump/restore is not required for those running 12.X.
+ However, if you have applied REINDEX CONCURRENTLY to a TOAST table's
index, or observe failures to access TOAST datums, there has been a
fix for this problem. Any existing corrupted indexes can be repaired
by reindexing again.
+ Also, if you are upgrading from a version earlier than 12.9, see
those release notes as well please.
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-10.html
-- Athos Ribeiro <email address hidden> Wed, 23 Feb 2022 08:36:18 -0300
-
postgresql-12 (12.9-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #1950268).
+ Make the server reject extraneous data after an SSL or GSS
encryption handshake
CVE-2021-23214
+ Make libpq reject extraneous data after an SSL or GSS
encryption handshake
CVE-2021-23222
+ A dump/restore is not required for those running 12.X.
+ However, note that installations using physical replication should
update standby servers before the primary server, details in the
release notes linked below.
+ Also, several bugs have been found that may have resulted in corrupted
indexes, explained in detail in the release notes linked below. If any
of those cases apply to you, it's recommended to reindex
possibly-affected indexes after updating.
+ Also, if you are upgrading from a version earlier than 12.6,
see those release notes as well please.
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-9.html
-- Christian Ehrhardt <email address hidden> Tue, 09 Nov 2021 09:39:52 +0100
-
postgresql-12 (12.8-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #1939396).
+ Disallow SSL renegotiation more completely (Michael Paquier)
SSL renegotiation has been disabled for some time, but the server
would still cooperate with a client-initiated renegotiation request.
A maliciously crafted renegotiation request could result in a server
crash (see OpenSSL issue CVE-2021-3449). Disable the feature
altogether on OpenSSL versions that permit doing so, which are
1.1.0h and newer.
(CVE-2021-3449)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-8.html
-- Christian Ehrhardt <email address hidden> Tue, 10 Aug 2021 14:18:34 +0200
-
postgresql-12 (12.7-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #1928773).
+ Prevent integer overflows in array subscripting calculations (Tom Lane)
The array code previously did not complain about cases where an array's
lower bound plus length overflows an integer. This resulted in later
entries in the array becoming inaccessible (since their subscripts could
not be written as integers), but more importantly it confused subsequent
assignment operations. This could lead to memory overwrites, with
ensuing crashes or unwanted data modifications. (CVE-2021-32027)
+ Fix mishandling of junk columns in INSERT ... ON CONFLICT ... UPDATE
target lists (Tom Lane)
If the UPDATE list contains any multi-column sub-selects (which give
rise to junk columns in addition to the results proper), the UPDATE path
would end up storing tuples that include the values of the extra junk
columns. That's fairly harmless in the short run, but if new columns are
added to the table then the values would become accessible, possibly
leading to malfunctions if they don't match the datatypes of the added
columns.
In addition, in versions supporting cross-partition updates, a
cross-partition update triggered by such a case had the reverse problem:
the junk columns were removed from the target list, typically causing an
immediate crash due to malfunction of the multi-column sub-select
mechanism. (CVE-2021-32028)
+ Fix possibly-incorrect computation of UPDATE ... RETURNING outputs for
joined cross-partition updates (Amit Langote, Etsuro Fujita)
If an UPDATE for a partitioned table caused a row to be moved to another
partition with a physically different row type (for example, one with a
different set of dropped columns), computation of RETURNING results for
that row could produce errors or wrong answers. No error is observed
unless the UPDATE involves other tables being joined to the target
table. (CVE-2021-32029)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/12/release-12-7.html
-- Christian Ehrhardt <email address hidden> Tue, 18 May 2021 12:13:14 +0200
-
postgresql-12 (12.6-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version (LP: #1915254)
+ Fix incorrect detection of concurrent page splits while inserting
into a GiST index (Heikki Linnakangas)
Concurrent insertions could lead to a corrupt index with entries
placed in the wrong pages. It's recommended to reindex any GiST
index that's been subject to concurrent insertions.
+ Fix CREATE INDEX CONCURRENTLY to wait for concurrent prepared
transactions (Andrey Borodin)
At the point where CREATE INDEX CONCURRENTLY waits for all concurrent
transactions to complete so that it can see rows they inserted, it
must also wait for all prepared transactions to complete, for the
same reason. Its failure to do so meant that rows inserted by
prepared transactions might be omitted from the new index, causing
queries relying on the index to miss such rows. In installations that
have enabled prepared transactions (max_prepared_transactions > 0),
it's recommended to reindex any concurrently-built indexes in case
this problem occurred when they were built.
+ Fix information leakage in constraint-violation error messages
(Heikki Linnakangas)
If an UPDATE command attempts to move a row to a different partition
but finds that it violates some constraint on the new partition, and
the columns in that partition are in different physical positions
than in the parent table, the error message could reveal the contents
of columns that the user does not have SELECT privilege on.
(CVE-2021-3393)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/10/static/release-12-6.html
-- Christian Ehrhardt <email address hidden> Wed, 10 Feb 2021 11:47:33 +0100
-
postgresql-12 (12.5-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream version.
+ Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers
within index expressions and materialized view queries (Noah Misch)
This is essentially a leak in the security restricted operation sandbox
mechanism. An attacker having permission to create non-temporary SQL
objects could parlay this leak to execute arbitrary SQL code as a
superuser.
The PostgreSQL Project thanks Etienne Stalmans for reporting this
problem. (CVE-2020-25695)
+ Fix usage of complex connection-string parameters in pg_dump,
pg_restore, clusterdb, reindexdb, and vacuumdb (Tom Lane)
The -d parameter of pg_dump and pg_restore, or the --maintenance-db
parameter of the other programs mentioned, can be a connection string
containing multiple connection parameters rather than just a database
name. In cases where these programs need to initiate additional
connections, such as parallel processing or processing of multiple
databases, the connection string was forgotten and just the basic
connection parameters (database name, host, port, and username) were
used for the additional connections. This could lead to connection
failures if the connection string included any other essential
information, such as non-default SSL or GSS parameters. Worse, the
connection might succeed but not be encrypted as intended, or be
vulnerable to man-in-the-middle attacks that the intended connection
parameters would have prevented. (CVE-2020-25694)
+ When psql's \connect command re-uses connection parameters, ensure that
all non-overridden parameters from a previous connection string are
re-used (Tom Lane)
This avoids cases where reconnection might fail due to omission of
relevant parameters, such as non-default SSL or GSS options. Worse, the
reconnection might succeed but not be encrypted as intended, or be
vulnerable to man-in-the-middle attacks that the intended connection
parameters would have prevented. This is largely the same problem as
just cited for pg_dump et al, although psql's behavior is more complex
since the user may intentionally override some connection parameters.
(CVE-2020-25694)
+ Prevent psql's \gset command from modifying specially-treated variables
(Noah Misch)
\gset without a prefix would overwrite whatever variables the server
told it to. Thus, a compromised server could set specially-treated
variables such as PROMPT1, giving the ability to execute arbitrary shell
code in the user's session.
The PostgreSQL Project thanks Nick Cleaton for reporting this problem.
(CVE-2020-25696)
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/10/static/release-12-5.html
-- Christian Ehrhardt <email address hidden> Thu, 12 Nov 2020 12:13:24 +0100
-
postgresql-12 (12.4-0ubuntu0.20.04.1) focal-security; urgency=medium
* New upstream release (LP: #1892335).
- Set a secure search_path in logical replication walsenders and apply
workers (Noah Misch)
A malicious user of either the publisher or subscriber database could
potentially cause execution of arbitrary SQL code by the role running
replication, which is often a superuser. Some of the risks here are
equivalent to those described in CVE-2018-1058, and are mitigated in
this patch by ensuring that the replication sender and receiver execute
with empty search_path settings. (As with CVE-2018-1058, that change
might cause problems for under-qualified names used in replicated
tables' DDL.) Other risks are inherent in replicating objects that
belong to untrusted roles; the most we can do is document that there is
a hazard to consider.
CVE-2020-14349
- Make contrib modules' installation scripts more secure (Tom Lane)
Attacks similar to those described in CVE-2018-1058 could be carried out
against an extension installation script, if the attacker can create
objects in either the extension's target schema or the schema of some
prerequisite extension. Since extensions often require superuser
privilege to install, this can open a path to obtaining superuser
privilege. To mitigate this risk, be more careful about the search_path
used to run an installation script; disable check_function_bodies within
the script; and fix catalog-adjustment queries used in some contrib
modules to ensure they are secure. Also provide documentation to help
third-party extension authors make their installation scripts secure.
This is not a complete solution; extensions that depend on other
extensions can still be at risk if installed carelessly.
CVE-2020-14350
- Details about these and many further changes can be found at:
https://www.postgresql.org/docs/10/static/release-12-3.html
https://www.postgresql.org/docs/10/static/release-12-4.htm
-- Christian Ehrhardt <email address hidden> Thu, 20 Aug 2020 11:29:14 +0200
-
postgresql-12 (12.2-4) unstable; urgency=medium
* Disable llvm on ppc64 and s390x, segfaulting with llvm 10.
https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-10/+bug/1867173
* On error, show install.log as well.
-- Christoph Berg <email address hidden> Fri, 27 Mar 2020 10:24:55 +0100
-
postgresql-12 (12.2-1ubuntu2) focal; urgency=medium
* Build using LLVM 10, still use LLVM 9 on s390x..
-- Matthias Klose <email address hidden> Thu, 12 Mar 2020 09:42:56 +0100
-
postgresql-12 (12.2-1ubuntu1) focal; urgency=medium
* Build using LLVM 10.
-- Matthias Klose <email address hidden> Mon, 09 Mar 2020 12:41:13 +0100
-
postgresql-12 (12.2-1build1) focal; urgency=medium
* No-change rebuild for icu soname change.
-- Matthias Klose <email address hidden> Tue, 03 Mar 2020 21:36:37 +0100
-
postgresql-12 (12.2-1) unstable; urgency=medium
* New upstream version.
+ Add missing permissions checks for ALTER ... DEPENDS ON EXTENSION.
Marking an object as dependent on an extension did not have any
privilege check whatsoever. This oversight allowed any user to mark
routines, triggers, materialized views, or indexes as droppable by
anyone able to drop an extension. Require that the calling user own the
specified object (and hence have privilege to drop it). (CVE-2020-1720)
* Disable llvm on riscv64 again, it's broken.
* Set PROVE_FLAGS="--verbose".
-- Christoph Berg <email address hidden> Thu, 09 Jan 2020 18:52:09 +0100
-
postgresql-12 (12.1-2build2) focal; urgency=medium
* No-change rebuild for icu soname change.
-- Matthias Klose <email address hidden> Thu, 13 Feb 2020 09:09:28 +0100
-
postgresql-12 (12.1-2build1) focal; urgency=medium
* No-change rebuild to build with python3.8.
-- Matthias Klose <email address hidden> Sat, 25 Jan 2020 05:47:00 +0000
-
postgresql-12 (12.1-2) unstable; urgency=medium
* Move pg_config and pgxs to postgresql-client package to be able to test
extension packages using only their native dependencies. (Closes: #944457)
* Enable llvm on riscv64.
-- Christoph Berg <email address hidden> Wed, 08 Jan 2020 16:14:44 +0100
-
postgresql-12 (12.1-1) unstable; urgency=medium
* New upstream version.
* Drop obsolete python-dev build-dependency. (Closes: #943214)
-- Christoph Berg <email address hidden> Tue, 12 Nov 2019 11:33:45 +0100
-
postgresql-12 (12.0-1) unstable; urgency=medium
* First PostgreSQL 12 release.
* Disable jit on powerpc again, it's still broken.
* Disable jit on riscv64, llvm-9 not yet available.
-- Christoph Berg <email address hidden> Wed, 02 Oct 2019 14:45:00 +0200