UbuntuUpdates.org

Package "postgresql-14"

Name: postgresql-14

Description:

The World's Most Advanced Open Source Relational Database

Latest version: 14.17-0ubuntu0.22.04.1
Release: jammy (22.04)
Level: security
Repository: main
Homepage: http://www.postgresql.org/

Links


Download "postgresql-14"


Other versions of "postgresql-14" in Jammy

Repository Area Version
base universe 14.2-1ubuntu1
base main 14.2-1ubuntu1
security universe 14.17-0ubuntu0.22.04.1
updates main 14.17-0ubuntu0.22.04.1
updates universe 14.17-0ubuntu0.22.04.1
PPA: Postgresql 14.17-1.pgdg20.04+1
PPA: Postgresql 14.8-1.pgdg18.04+1
PPA: Postgresql 14.17-1.pgdg22.04+1

Packages in group

Deleted packages are displayed in grey.


Changelog

Version: 14.17-0ubuntu0.22.04.1 2025-03-03 17:06:57 UTC

  postgresql-14 (14.17-0ubuntu0.22.04.1) jammy-security; urgency=medium

  * New upstream version (LP: #2099900).

    + This release encompasses changes from upstream's 14.16 and 14.17
      releases. The former contains fixes for CVE-2025-1094 (among other
      things), and the latter was a hotfix for a problem caused by the CVE
      fix from 14.16.

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

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

    + Harden PQescapeString and allied functions against invalidly-encoded
      input strings (Andres Freund, Noah Misch)

      Data-quoting functions supplied by libpq now fully check the encoding
      validity of their input. If invalid characters are detected, they report
      an error if possible. For the ones that lack an error return convention,
      the output string is adjusted to ensure that the server will report
      invalid encoding and no intervening processing will be fooled by bytes
      that might happen to match single quote, backslash, etc.

      The purpose of this change is to guard against SQL-injection attacks
      that are possible if one of these functions is used to quote crafted
      input. There is no hazard when the resulting string is sent directly to
      a PostgreSQL server (which would check its encoding anyway), but there
      is a risk when it is passed through psql or other client-side code.
      Historically such code has not carefully vetted encoding, and in many
      cases it's not clear what it should do if it did detect such a problem.

      This fix is effective only if the data-quoting function, the server, and
      any intermediate processing agree on the character encoding that's being
      used. Applications that insert untrusted input into SQL commands should
      take special care to ensure that that's true.

      Applications and drivers that quote untrusted input without using these
      libpq functions may be at risk of similar problems. They should first
      confirm the data is valid in the encoding expected by the server.

      The PostgreSQL Project thanks Stephen Fewer for reporting this problem.
      (CVE-2025-1094)

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

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

  * d/postgresql-14.NEWS: Update.

 -- Athos Ribeiro <email address hidden> Mon, 24 Feb 2025 13:09:01 -0300

Source diff to previous version
2099900 New PostgreSQL upstream microreleases 14.17 and 16.8
CVE-2025-1094 Improper neutralization of quoting syntax in PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeString

Version: 14.15-0ubuntu0.22.04.1 2024-12-02 15:06:57 UTC

  postgresql-14 (14.15-0ubuntu0.22.04.1) jammy-security; urgency=medium

  * New upstream version (LP: #2085196).

    + This release encompasses changes from upstream's 14.14 and 14.15
      releases. The former contains fixes for 4 CVEs (among other
      things), and the latter was hotfix for a problem caused by one of
      the CVE fixes from 14.14.

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

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

    + Ensure cached plans are marked as dependent on the calling role when
      RLS applies to a non-top-level table reference (Nathan Bossart)

      If a CTE, subquery, sublink, security invoker view, or coercion
      projection in a query references a table with row-level security
      policies, we neglected to mark the resulting plan as potentially
      dependent on which role is executing it. This could lead to later query
      executions in the same session using the wrong plan, and then returning
      or hiding rows that should have been hidden or returned instead.

      The PostgreSQL Project thanks Wolfgang Walther for reporting this
      problem.
      (CVE-2024-10976)

    + Make libpq discard error messages
      received during SSL or GSS protocol negotiation (Jacob Champion)

      An error message received before encryption negotiation is completed
      might have been injected by a man-in-the-middle, rather than being real
      server output. Reporting it opens the door to various security hazards;
      for example, the message might spoof a query result that a careless user
      could mistake for correct output. The best answer seems to be to
      discard such data and rely only on libpq's own report of the connection
      failure.

      The PostgreSQL Project thanks Jacob Champion for reporting this
      problem.
      (CVE-2024-10977)

    + Fix unintended interactions between SET SESSION AUTHORIZATION
      and SET ROLE (Tom Lane)

      The SQL standard mandates that SET SESSION AUTHORIZATION have a
      side-effect of doing SET ROLE NONE. Our implementation of that was
      flawed, creating more interaction between the two settings than
      intended. Notably, rolling back a transaction that had done SET SESSION
      AUTHORIZATION would revert ROLE to NONE even if that had not been the
      previous state, so that the effective user ID might now be different
      from what it had been before the transaction. Transiently setting
      session_authorization in a function SET clause had a similar effect. A
      related bug was that if a parallel worker inspected
      current_setting('role'), it saw none even when it should see something
      else.

      The PostgreSQL Project thanks Tom Lane for reporting this problem.
      (CVE-2024-10978)

    + Prevent trusted PL/Perl code from changing environment variables
      (Andrew Dunstan, Noah Misch)

      The ability to manipulate process environment variables such as PATH
      gives an attacker opportunities to execute arbitrary code. Therefore,
      trustedPLs must not offer the ability to do that. To fix plperl,
      replace %ENV with a tied hash that rejects any modification attempt with
      a warning. Untrusted plperlu retains the ability to change the
      environment.

      The PostgreSQL Project thanks Coby Abrams for reporting this problem.
      (CVE-2024-10979)

    + Restore functionality of ALTER {ROLE|DATABASE} SET
      role (Tom Lane, Noah Misch)

      The fix for CVE-2024-10978 accidentally caused settings for role to
      not be applied if they come from non-interactive sources, including
      previous ALTER {ROLE|DATABASE} commands and the PGOPTIONS environment
      variable.

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

  * d/postgresql-14.NEWS: Update.

 -- Sergio Durigan Junior <email address hidden> Mon, 25 Nov 2024 16:05:41 -0500

Source diff to previous version
2085196 New PostgreSQL upstream microreleases 12.22, 14.15 and 16.6
CVE-2024-10976 Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2
CVE-2024-10977 Client use of server error message in PostgreSQL allows a server not trusted under current SSL or GSS settings to furnish arbitrary non-NUL bytes to
CVE-2024-10978 Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An atta
CVE-2024-10979 Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variabl

Version: 14.13-0ubuntu0.22.04.1 2024-08-19 17:07:09 UTC

  postgresql-14 (14.13-0ubuntu0.22.04.1) jammy-security; urgency=medium

  * New upstream version (LP: #2076183).

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

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

    + Prevent unauthorized code execution during pg_dump (Masahiko Sawada)

      An attacker able to create and drop non-temporary objects could inject
      SQL code that would be executed by a concurrent pg_dump session with the
      privileges of the role running pg_dump (which is often a superuser).
      The attack involves replacing a sequence or similar object with a view
      or foreign table that will execute malicious code. To prevent this,
      introduce a new server parameter restrict_nonsystem_relation_kind that
      can disable expansion of non-builtin views as well as access to foreign
      tables, and teach pg_dump to set it when available. Note that the
      attack is prevented only if both pg_dump and the server it is dumping
      from are new enough to have this fix.

      The PostgreSQL Project thanks Noah Misch for reporting this problem.
      (CVE-2024-7348)

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

  * d/postgresql-14.NEWS: Update.
  * d/p/focal-arm64-outline-atomics: refresh patch.

 -- Athos Ribeiro <email address hidden> Tue, 06 Aug 2024 15:14:44 -0300

Source diff to previous version
2076183 New upstream microreleases 12.20, 14.13, and 16.4
CVE-2024-7348 Time-of-check Time-of-use (TOCTOU) race condition in pg_dump in PostgreSQL allows an object creator to execute arbitrary SQL functions as the user ru

Version: 14.12-0ubuntu0.22.04.1 2024-05-30 14:07:09 UTC

  postgresql-14 (14.12-0ubuntu0.22.04.1) jammy-security; urgency=medium

  * New upstream version (LP: #2067388).

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

    + However, a security vulnerability was found in the system views
      pg_stats_ext and pg_stats_ext_exprs, potentially allowing
      authenticated database users to see data they shouldn't. If this is of
      concern in your installation, follow the steps below to rectify it.

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

    + Restrict visibility of pg_stats_ext and pg_stats_ext_exprs entries
      to the table owner (Nathan Bossart)

      These views failed to hide statistics for expressions that involve
      columns the accessing user does not have permission to read. View
      columns such as most_common_vals might expose security-relevant
      data. The potential interactions here are not fully clear, so in the
      interest of erring on the side of safety, make rows in these views
      visible only to the owner of the associated table.

      The PostgreSQL Project thanks Lukas Fittl for reporting this
      problem.

      By itself, this fix will only fix the behavior in newly initdb'd
      database clusters. If you wish to apply this change in an existing
      cluster, you will need to do the following:

        - In each database of the cluster, run the
          /usr/share/postgresql/14/fix-CVE-2024-4317.sql script as superuser. In
          psql this would look like:

            \i /usr/share/postgresql/14/fix-CVE-2024-4317.sql

          It will not hurt to run the script more than once.

        - Do not forget to include the template0 and template1 databases,
          or the vulnerability will still exist in databases you create
          later. To fix template0, you'll need to temporarily make it accept
          connections. Do that with:

            ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true;

          and then after fixing template0, undo it with:

            ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false;

      (CVE-2024-4317)

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

  * d/postgresql-14.NEWS: Update.

 -- Sergio Durigan Junior <email address hidden> Tue, 28 May 2024 09:51:10 -0400

Source diff to previous version
2067388 New upstream microreleases 12.19, 14.12, 15.7 and 16.3
CVE-2024-4317 Missing authorization in PostgreSQL built-in views pg_stats_ext and pg_stats_ext_exprs allows an unprivileged database user to read most common value

Version: 14.11-0ubuntu0.22.04.1 2024-02-26 14:07:00 UTC

  postgresql-14 (14.11-0ubuntu0.22.04.1) jammy-security; urgency=medium

  * New upstream version (LP: #2052850).

    + A dump/restore is not required for those running 14.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 14.10, 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/14/release-14-11.html

  * d/postgresql-14.NEWS: Update.

 -- Sergio Durigan Junior <email address hidden> Fri, 09 Feb 2024 19:49:08 -0500

2052850 New upstream microreleases 12.18, 14.11, 15.6 and 16.2
CVE-2024-0985 Late privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the comman



About   -   Send Feedback to @ubuntu_updates