postgresql-17 (17.10-0ubuntu0.25.10.1) questing-security; urgency=medium

  * New upstream version (LP: #2152636).

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

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

    + Prevent unbounded recursion while processing startup packets

      A malicious client could crash the connected backend by alternating
      rejected SSL and GSS encryption requests indefinitely. (CVE-2026-6479)

    + Fix assorted integer overflows in memory-allocation calculations

      Various places were incautious about the possibility of integer overflow
      in calculations of how much memory to allocate. Overflow would lead to
      allocating a too-small buffer which the caller would then write past the
      end of. This would at least trigger server crashes, and probably could
      be exploited for arbitrary code execution. In many but by no means all
      cases, the hazard exists only in 32-bit builds. (CVE-2026-6473)

    + Properly quote subscription names in pg_createsubscriber

      The given subscription name was inserted into SQL commands without
      quoting, so that SQL injection could be achieved in the (perhaps
      unlikely) case that the subscription name comes from an untrusted
      source. (CVE-2026-6476)

    + Properly quote object names in logical replication origin checks

      ALTER SUBSCRIPTION ... REFRESH PUBLICATION interpolated schema and
      relation names into SQL commands without quoting them, allowing
      execution of arbitrary SQL on the publisher. (CVE-2026-6638)

    + Reject over-length options in ts_headline()

      The StartSel, StopSel and FragmentDelimiter strings must not exceed 32Kb
      in length, but this was not checked for. An over-length value would
      typically crash the server. (CVE-2026-6473)

    + Guard against malicious time zone names in timeofday() and pg_strftime()

      A crafted time zone setting could pass % sequences to snprintf(),
      potentially causing crashes or disclosure of server memory. Another path
      to similar results was to overflow the limited-size output buffer used
      by pg_strftime().  (CVE-2026-6474)

    + When creating a multirange type, ensure the user has CREATE privilege on
      the schema specified for the multirange type

      The multirange type can be put into a different schema than its parent
      range type, but we neglected to apply the required privilege check when
      doing so.  (CVE-2026-6472)

    + Use timing-safe string comparisons in authentication code

      Use timingsafe_bcmp() instead of memcpy() or strcmp() when checking
      passwords, hashes, etc. It is not known whether the data dependency of
      those functions is usefully exploitable in any of these places, but in
      the interests of safety, replace them. (CVE-2026-6478)

    + Mark PQfn() as unsafe, and avoid using it within libpq

      For a non-integral result type, PQfn() is not passed the size of the
      output buffer, so it cannot check that the data returned by the server
      will fit. A malicious server could therefore overwrite client memory.
      This is unfixable without an API change, so mark the function as
      deprecated. Internally to libpq, use a variant version that can apply
      the missing check. (CVE-2026-6477)

    + Prevent path traversal in pg_basebackup and pg_rewind

      These applications failed to validate output file paths read from their
      input, so that a malicious source could overwrite any file writable by
      these applications. Constrain where data can be written by rejecting
      paths that are absolute or contain parent-directory references.
      (CVE-2026-6475)

    + Guard against field overflow within contrib/intarray's query_int type
      and contrib/ltree's ltxtquery type

      Parsing of these query structures did not check for overflow of 16-bit
      fields, so that construction of an invalid query tree was possible. This
      can crash the server when executing the query. (CVE-2026-6473)

    + Guard against overly long values of contrib/ltree's lquery type

      Values with more than 64K items caused internal overflows, potentially
      resulting in stack smashes or wrong answers. (CVE-2026-6473)

    + Prevent SQL injection and buffer overruns in contrib/spi

      check_foreign_key() was insufficiently careful about quoting key values,
      and also used fixed-length buffers for constructing queries. While this
      module is only meant as example code, it still shouldn't contain such
      dangerous errors.  (CVE-2026-6637)

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

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

 -- Athos Ribeiro <athos@ubuntu.com>  Fri, 15 May 2026 07:33:38 -0300

postgresql-17 (17.9-0ubuntu0.25.10.1) questing-security; urgency=medium

  * New upstream version (LP: #2127668).

    + This release encompasses changes from upstream's 17.8 and 17.9
      releases. The former contains fixes for 4 CVEs (among other things), and
      the latter was a hotfix for regressions introcuced in 17.8.

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

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

    + Guard against unexpected dimensions of oidvector/int2vector (Tom Lane)

      These data types are expected to be 1-dimensional arrays containing no
      nulls, but there are cast pathways that permit violating those
      expectations. Add checks to some functions that were depending on those
      expectations without verifying them, and could misbehave in consequence.
      (CVE-2026-2003)

    + Harden selectivity estimators against being attached to operators that
      accept unexpected data types (Tom Lane)

      contrib/intarray contained a selectivity estimation function that could
      be abused for arbitrary code execution, because it did not check that
      its input was of the expected data type. Third-party extensions should
      check for similar hazards and add defenses using the technique intarray
      now uses. Since such extension fixes will take time, we now require
      superuser privilege to attach a non-built-in selectivity estimator to an
      operator. (CVE-2026-2004)

    + Fix buffer overrun in contrib/pgcrypto's PGP decryption functions
      (Michael Paquier)

      Decrypting a crafted message with an overlength session key caused a
      buffer overrun, with consequences as bad as arbitrary code execution.
      (CVE-2026-2005)

    + Fix inadequate validation of multibyte character lengths (Thomas Munro,
      Noah Misch)

      Assorted bugs allowed an attacker able to issue crafted SQL to overrun
      string buffers, with consequences as bad as arbitrary code execution.
      After these fixes, applications may observe “invalid byte sequence for
      encoding” errors when string functions process invalid text that has
      been stored in the database. (CVE-2026-2006)

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

  * d/postgresql-17.NEWS: Update.

 -- Athos Ribeiro <athos@ubuntu.com>  Wed, 25 Feb 2026 11:11:37 -0300

postgresql-17 (17.7-0ubuntu0.25.10.1) questing-security; urgency=medium

  * New upstream version (LP: #2127667).

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

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

    + Check for CREATE privileges on the schema in CREATE STATISTICS (Jelte
      Fennema-Nio)

      This omission allowed table owners to create statistics in any schema,
      potentially leading to unexpected naming conflicts. (CVE-2025-12817)

    + Avoid integer overflow in allocation-size calculations within libpq
      (Jacob Champion)

      Several places in libpq were not sufficiently careful about computing
      the required size of a memory allocation. Sufficiently large inputs
      could cause integer overflow, resulting in an undersized buffer, which
      would then lead to writing past the end of the buffer. (CVE-2025-12818)

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

  * d/postgresql-17.NEWS: Create NEWS file.

 -- Athos Ribeiro <athos@ubuntu.com>  Wed, 19 Nov 2025 10:23:51 -0300

postgresql-17 (17.6-1build1) questing; urgency=medium

  * Rebuild to include updated RISC-V base ISA RVA23

 -- Heinrich Schuchardt <heinrich.schuchardt@canonical.com>  Sat, 06 Sep 2025 15:12:00 +0000

postgresql-17 (17.6-1) unstable; urgency=medium

  * New upstream version 17.6.

    + Tighten security checks in planner estimation functions (Dean Rasheed)

      The fix for CVE-2017-7484, plus followup fixes, intended to prevent
      leaky functions from being applied to statistics data for columns that
      the calling user does not have permission to read.  Two gaps in that
      protection have been found.  One gap applies to partitioning and
      inheritance hierarchies where RLS policies on the tables should restrict
      access to statistics data, but did not.

      The other gap applies to cases where the query accesses a table via a
      view, and the view owner has permissions to read the underlying table
      but the calling user does not have permissions on the view. The view
      owner's permissions satisfied the security checks, and the leaky
      function would get applied to the underlying table's statistics before
      we check the calling user's permissions on the view.  This has been
      fixed by making security checks on views occur at the start of planning.
      That might cause permissions failures to occur earlier than before.

      The PostgreSQL Project thanks Dean Rasheed for reporting this problem.
      (CVE-2025-8713)

    + Prevent pg_dump scripts from being used to attack the user running the
      restore (Nathan Bossart)

      Since dump/restore operations typically involve running SQL commands as
      superuser, the target database installation must trust the source
      server.  However, it does not follow that the operating system user who
      executes psql to perform the restore should have to trust the source
      server.  The risk here is that an attacker who has gained
      superuser-level control over the source server might be able to cause it
      to emit text that would be interpreted as psql meta-commands. That would
      provide shell-level access to the restoring user's own account,
      independently of access to the target database.

      To provide a positive guarantee that this can't happen, extend psql with
      a restrict command that prevents execution of further meta-commands,
      and teach pg_dump to issue that before any data coming from the source
      server.

      The PostgreSQL Project thanks Martin Rakhmanov, Matthieu Denais, and
      RyotaK for reporting this problem. (CVE-2025-8714)

    + Convert newlines to spaces in names included in comments in pg_dump
      output (Noah Misch)

      Object names containing newlines offered the ability to inject arbitrary
      SQL commands into the output script.  (Without the preceding fix,
      injection of psql meta-commands would also be possible this way.)
      CVE-2012-0868 fixed this class of problem at the time, but later work
      reintroduced several cases.

      The PostgreSQL Project thanks Noah Misch for reporting this problem.
      (CVE-2025-8715)

  * Add Turkish debconf translation by Atila KOÇ, thanks! (Closes: #1107984)
  * Drop hurd-iovec patch, implemented upstream.
  * Drop obsolete patches: focal-arm64-outline-atomics, jit-s390x.

 -- Christoph Berg <myon@debian.org>  Wed, 18 Jun 2025 15:54:51 +0200

postgresql-17 (17.5-1) unstable; urgency=medium

  * New upstream version 17.5.

    + Avoid one-byte buffer overread when examining invalidly-encoded strings
      that are claimed to be in GB18030 encoding (Noah Misch, Andres Freund)

      While unlikely, a SIGSEGV crash could occur if an incomplete multibyte
      character appeared at the end of memory.  This was possible both in the
      server and in libpq-using applications. (CVE-2025-4207)

 -- Christoph Berg <myon@debian.org>  Tue, 06 May 2025 17:55:19 +0200

postgresql-17 (17.4-2) unstable; urgency=medium

  * libpq5: Recommend ca-certificates to support SSL certificate validation
    using the sslrootcert=system connection option.
  * Revert "Test-depend only on our server packages".

 -- Christoph Berg <myon@debian.org>  Mon, 07 Apr 2025 11:59:17 +0200

postgresql-17 (17.4-1) unstable; urgency=medium

  * New upstream version 17.4.

    + Improve behavior of libpq's quoting functions (Andres Freund, Tom Lane)

      The changes made for CVE-2025-1094 had one serious oversight:
      PQescapeLiteral() and PQescapeIdentifier() failed to honor their string
      length parameter, instead always reading to the input string's trailing
      null.  This resulted in including unwanted text in the output, if the
      caller intended to truncate the string via the length parameter.  With
      very bad luck it could cause a crash due to reading off the end of
      memory.

      In addition, modify all these quoting functions so that when invalid
      encoding is detected, an invalid sequence is substituted for just the
      first byte of the presumed character, not all of it.  This reduces the
      risk of problems if a calling application performs additional processing
      on the quoted string.

  * Build-depend on openssl. (Closes: #1096243)
  * Added po-debconf Catalan translation by Carles Pina i Estany, thanks!

 -- Christoph Berg <myon@debian.org>  Thu, 20 Feb 2025 12:22:31 +0100

postgresql-17 (17.3-3) unstable; urgency=medium

  * Cherry-pick fix for PQescapeIdentifier regression.

 -- Christoph Berg <myon@debian.org>  Sat, 15 Feb 2025 20:55:03 +0000

postgresql-17 (17.3-2) unstable; urgency=medium

  * installcheck: Test-depend on postgresql-server-dev-17 for postgres.h.

 -- Christoph Berg <myon@debian.org>  Fri, 14 Feb 2025 16:58:00 +0100

# For older changelog entries, run 'apt-get changelog libpgtypes3'
