This bug was fixed in the package postgresql-14 - 14.10-0ubuntu0.22.04.1
---------------
postgresql-14 (14.10-0ubuntu0.22.04.1) jammy-security; urgency=medium
* New upstream version (LP: #2040469).
+ A dump/restore is not required for those running 14.X.
+ However, several mistakes have been discovered that could lead to
certain types of indexes yielding wrong search results or being
unnecessarily inefficient. It is advisable to REINDEX
potentially-affected indexes after installing this update.
+ Also, if you are upgrading from a version earlier than 14.9, 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 pg_signal_backend 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.
+ Prevent de-duplication of btree index entries for interval columns
(Noah Misch)
There are interval values that are distinguishable but compare
equal, for example "24:00:00" and "1 day". This breaks assumptions
made by btree de-duplication, so interval columns need to be excluded
from de-duplication. This oversight can cause incorrect results from
index-only scans. Moreover, after updating amcheck will report an
error for almost all such indexes. Users should reindex any btree
indexes on interval columns.
+ Process date values more sanely in BRIN datetime_minmax_multi_ops
indexes (Tomas Vondra)
The distance calculation for dates was backward, causing poor
decisions about which entries to merge. The index still produces
correct results, but is much less efficient than it should be.
Reindexing BRIN minmax_multi indexes on date columns is advisable.
+ Process large timestamp and timestamptz values more sanely in BRIN
datetime_minmax_multi_ops indexes (Tomas Vondra)
Infinities were mistakenly treated as having distance zero rather
than a large distance from other values, causing poor decisions about
which entries to merge. Also, finite-but-very-large values (near the
endpoints of the representable timestamp range) could result in
internal overflows, again causing poor decisions. The index still
produces correct results, but is much less efficient than it should
be. Reindexing BRIN minmax_multi indexes on timestamp and timestamptz
columns is advisable if the column contains, or has contained,
infinities or large finite values.
+ Details about these and many further changes can be found at:
https://www.postgresql.org/docs/14/release-14-10.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 to account for unrelocatability of
pg_config.
This change replicates what is already being done in the
check_pg_config function. They 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 Wed, 22 Nov 2023 22:07:12 -0500