This bug was fixed in the package postgresql-16 - 16.15-0ubuntu0.24.04.1

---------------
postgresql-16 (16.15-0ubuntu0.24.04.1) noble-security; urgency=medium

  * New upstream version (LP: #2153489)

    + A dump/restore is not required for those running 16.X.

    + However, the first three security entries below describe configuration
      adjustments and data cleanups that you may need to make after updating.

    + Also, if you use contrib/btree_gist or contrib/ltree, you may need to
      reindex indexes made with those extensions; see the relevant entries
      below.

    + Also, if you are upgrading from a version earlier than 16.10, see those
      release notes as well please.

    + Restrict logical decoding output plugins to the set specified by a new
      server parameter output_plugin_libraries

      Previously, a replication user could select any loadable library for
      logical decoding, allowing exploits of various sorts. To allow locking
      this down without breaking setups that worked before, introduce a
      whitelist of allowed output plugins.

      By default, only the output plugins shipped as part of PostgreSQL
      (pgoutput and test_decoding) are included in output_plugin_libraries.
      Installations that rely on other output plugins must add them after
      updating the server. (CVE-2026-6471)

    + Fix contrib/pgcrypto's PGP encryption to detect unsupported
ciphers

      Previously, if OpenSSL rejected the requested cipher (for example,
      because it is running in FIPS mode, or the legacy provider hasn't been
      loaded), pgcrypto failed to notice the failure and simply XOR'd the
      non-encrypted block with the plaintext, rendering the “encryption”
      trivially breakable. This will typically occur with deprecated or
      non-FIPS cipher algorithms (cipher-algo=blowfish/bf, twofish, cast5, or
      3des).

      By default, pgcrypto will now fail to decrypt any messages that were
      affected in this way. To allow retrieval of such data, a new option
      ignore-cipher-failure has been added to pgp_pub_decrypt() and
      pgp_sym_decrypt(). Setting ignore-cipher-failure=1 will restore their
      previous behavior, allowing the faulty encryption wrapper to be stripped
      off:

      Once the affected messages are identified and stripped of their
      wrappers, they can then be re-encrypted with a modern algorithm. It is
      important however that the behavior of OpenSSL be the same as it was
      when the faulty messages were created: if the set of unsupported
      algorithms is not the same, this approach will not work. See the
      documentation for ignore-cipher-failure. (CVE-2026-14663)

    + Fix psql to skip in-line data following a scripted COPY ... FROM STDIN
      command, even if the COPY fails before sending PGRES_COPY_IN

      Previously, if a COPY command failed at startup (for instance, because
      the target table doesn't exist) psql would not realize that and would
      proceed to read the following in-line data as SQL commands. In the best
      case that's wrong and in the worst case it's a SQL-injection hazard.
      Teach psql to recognize syntactically-valid COPY ... FROM STDIN commands
      and to skip data on its own authority if the server doesn't respond with
      PGRES_COPY_IN.

      While this fix is unlikely to affect any production SQL scripts, test
      scripts might intentionally exercise failing COPY ... FROM STDIN
      commands. Those will need to gain a \. data terminator line after each
      such command. (CVE-2026-6464)

    + Cross-check the output row type of a portal running EXECUTE or
FETCH

      EXECUTE and FETCH use two portals: an outer one for the statement
      itself, and an inner one running the query being executed on its behalf.
      It was previously possible to make the declared row types of the two
      portals diverge, leading to server memory disclosure and arbitrary code
      execution. (CVE-2026-16239)

    + Fix buffer overrun with long time zone abbreviation in to_char()

      This can easily crash the server, and exploits leading to arbitrary code
      execution have been reported. (CVE-2026-14669)

    + Fix buffer overrun in regexp match/split functions

      If passed invalidly-encoded data, these functions could write past the
      end of their conversion buffer. (CVE-2026-14664)

    + Harden the ascii() function against invalid input

      By supplying invalidly-encoded input, this function could be coaxed to
      read and return a few bytes of data that it shouldn't. In assert-enabled
      builds, its assertions could be triggered too. (CVE-2026-18024)

    + Fix multirange type handling in pg_restore_attribute_stats()

      pg_restore_attribute_stats() treated multirange types just like their
      underlying range type. This works correctly for the bounds histogram,
      but it was wrong for all the other statistics kinds. (CVE-2026-16238)

    + Make scalarineqsel() check that a constant it expects to be of type tid
      actually is

      This expectation will hold for all the built-in operators that use this
      estimator, but a maliciously-constructed operator could violate it,
      leading to a crash or server memory disclosure. (CVE-2026-14668)

    + Harden tsvector and tsquery code against overly long values (both
      individual lexemes and total vector/query length)

      The documented limits were not enforced in all code paths.
      (CVE-2026-14662)

    + Fix various places that mistakenly assumed they would not have to deal
      with more than FUNC_MAX_ARGS function arguments

      Notably, the server's actual limit on the number of arguments to an
      aggregate function is FUNC_MAX_ARGS - 1, but the parser failed to
      enforce that, creating hazards downstream. (CVE-2026-14679)

    + Reject calls from SQL to functions that take or return type
internal

      The existing defenses against doing this have been shown to be
      insufficient, so add more explicit checks. (CVE-2026-14680)

    + Preserve the ownership of extended statistics objects when they are
      rebuilt by ALTER TABLE

      Previously, the role running ALTER TABLE gained ownership of such
      objects, but that seems inappropriate. (CVE-2026-6469)

    + When deparsing an EXTRACT() function call, quote the field name if
      needed

      The parser accepts any string literal as a field name in EXTRACT(),
      deferring validation to execution. If the call is stored and deparsed
      (for example during pg_dump), the string body was regurgitated verbatim,
      allowing SQL injection. (CVE-2026-15741)

    + Check for USAGE privilege on data types in places that formerly failed
      to check that

      CREATE TYPE AS RANGE did not check, nor did ALTER TABLE OF, nor did
      commands that create stored expressions. These omissions allowed roles
      without USAGE privilege to nonetheless create objects depending on the
      type, possibly blocking the type's owner from changing the type later.
      (CVE-2026-6470)

    + Invalidate role-dependent cached plans after role changes

      Role membership, role attribute, and database ownership changes may
      impact the expected behavior of row-level security policies, but
      previously we'd continue to use cached plans that were made according to
      the old state of affairs. (CVE-2026-14666)

    + Reject GSSEncRequest after direct SSL connection

      After establishing a TLS-encrypted connection, the server would still
      accept a request for GSSAPI encryption. If that succeeded, the
      connection would proceed using TLS encryption, but it would look like a
      GSS connection to the pg_hba rules. Thus, a pg_hba policy intending to
      disallow TLS would not be enforced correctly. (CVE-2026-14681)

    + Make mock SCRAM authentication secrets more plausible

      If a SCRAM login is attempted against a role that doesn't exist or
      doesn't have a SCRAM secret, we generate a mock secret and carry out the
      authentication handshake anyway, to avoid revealing these facts to an
      attacker. But the mock secret was made with a fixed iteration count,
      which in itself can be an observable response discrepancy. Use the
      configuration setting scram_iterations instead, to make the mock secret
      look more like the installation's real secrets. (CVE-2026-14672)

    + Fix out-of-bounds writes in ecpg applications caused by invalid bytea
      data received from the server

      ecpg assumed without checking that any bytea value must begin with \x. A
      broken or malicious server might send a string shorter than 2 bytes,
      resulting in memory clobber in the application. (CVE-2026-16241)

    + Do not do backquote expansion on the argument of psql's \unrestrict
      command

      This oversight in the fix for CVE-2025-8714 allows a malicious server to
      inject shell commands into plain-text dump output that will be run at
      restore time on the machine running psql, the exact scenario that
      CVE-2025-8714 intended to prevent. (CVE-2026-18408)

    + Remove pg_dump's assumption that pg_proc.protrftypes cannot have more
      than FUNC_MAX_ARGS entries

      Since there could be entries for both input and output arguments, it's
      feasible for this array's length to exceed FUNC_MAX_ARGS (which
      constrains only input arguments). Even if that were not so, pg_dump
      cannot assume that the server was built with the same value of
      FUNC_MAX_ARGS that it has. An overrun would lead to a memory clobber
      inside pg_dump. (CVE-2026-19385)

    + Harden PL/Perl against “tied” Perl arrays and hashes

      A tied object that doesn't behave like a regular one could lead to
      memory overwrite, or to constructing a corrupt result array (which would
      likely cause problems later). (CVE-2026-14670)

    + Fix integer overflows in memory-allocation calculations in PL/Perl and
      PL/Tcl

      This is the same type of problem as CVE-2026-6473, just in a different
      part of the code, and is fixed in the same way. (CVE-2026-14677)

    + Ensure that contrib/amcheck functions restrict search_path before
      executing index expressions

      Because amcheck will run such index expressions as the owner of their
      tables, a caller could potentially hijack search_path-dependent
      functions to run arbitrary code as the table owner. By default this is
      not a vulnerability because only superusers are allowed to call amcheck
      functions; but if that privilege was granted out, it created a larger
      hazard than the documentation suggests. (CVE-2026-14673)

    + Fix integer overflows in contrib/fuzzystrmatch's levenshtein() and
      levenshtein_less_equal() functions

      Passing large cost values to these functions could cause integer
      overflows, thereby producing nonsensical results, and even causing
      out-of-bounds writes in some cases. (CVE-2026-15742)

    + Fix buffer overrun in contrib/pg_stat_statements

      Query normalization didn't accurately account for the amount of space
      the normalized string would require. (CVE-2026-14676)

    + Fix datatype error in contrib/pg_trgm's GiST picksplit function

      This mistake resulted in reading past the end of the buffer, typically
      causing bad split decisions; but a crash could ensue if you're very
      unlucky. (CVE-2026-14678)

    + Remove the plan cache in contrib/refint

      This caching behavior has several serious bugs, notably that
      check_foreign_key() embeds the new key values in its cascade-UPDATE
      queries, so a cached plan reuses the originally-needed values rather
      than the key values that should be used. The simplest solution is to
      remove it. (CVE-2026-14671)

    + Details about these and many further changes can be found at:
      https://www.postgresql.org/docs/16/release-16-15.html.

  * d/postgresql-16.NEWS: update NEWS file.

  * d/p/extension_destdir: refresh patch.

 -- Guilherme Puida Moreira <[email protected]>  Thu, 13
Aug 2026 16:12:43 -0300

** Changed in: postgresql-16 (Ubuntu Noble)
       Status: In Progress => Fix Released

** CVE added: https://cve.org/CVERecord?id=CVE-2025-8714

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14662

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14663

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14664

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14666

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14668

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14669

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14670

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14671

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14672

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14673

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14676

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14677

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14678

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14679

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14680

** CVE added: https://cve.org/CVERecord?id=CVE-2026-14681

** CVE added: https://cve.org/CVERecord?id=CVE-2026-15741

** CVE added: https://cve.org/CVERecord?id=CVE-2026-15742

** CVE added: https://cve.org/CVERecord?id=CVE-2026-16238

** CVE added: https://cve.org/CVERecord?id=CVE-2026-16239

** CVE added: https://cve.org/CVERecord?id=CVE-2026-16241

** CVE added: https://cve.org/CVERecord?id=CVE-2026-18024

** CVE added: https://cve.org/CVERecord?id=CVE-2026-18408

** CVE added: https://cve.org/CVERecord?id=CVE-2026-19385

** CVE added: https://cve.org/CVERecord?id=CVE-2026-6464

** CVE added: https://cve.org/CVERecord?id=CVE-2026-6469

** CVE added: https://cve.org/CVERecord?id=CVE-2026-6470

** CVE added: https://cve.org/CVERecord?id=CVE-2026-6471

** CVE added: https://cve.org/CVERecord?id=CVE-2026-6473

** Changed in: postgresql-18 (Ubuntu Resolute)
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2153489

Title:
  New PostgreSQL upstream microreleases 14.24, 16.15, and 18.6

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/postgresql-14/+bug/2153489/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to