Comment 2 for bug 2040469

Revision history for this message
Launchpad Janitor (janitor) wrote :

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 <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.

    + 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 <email address hidden> Wed, 22 Nov 2023 22:07:12 -0500