<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="sa-render.xsl"?>
  <update from="huaweicloud.com" type="security" status="stable" version="1">
    <id>HCE2-SA-2024-0331</id>
    <title>An update for postgresql is now available for HCE 2.0</title>
    <severity>Critical</severity>
    <release>HCE 2.0</release>
    <issued date="2024-12-20 09:52:51"/>
    <updated date="2024-12-20 09:52:51"/>
    <references>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2020-14349" id="CVE-2020-14349" title="CVE-2020-14349 Base Score: 7.1 Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2020-1720" id="CVE-2020-1720" title="CVE-2020-1720 Base Score: 6.5 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2019-10130" id="CVE-2019-10130" title="CVE-2019-10130 Base Score: 4.3 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2019-10208" id="CVE-2019-10208" title="CVE-2019-10208 Base Score: 8.8 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2023-5869" id="CVE-2023-5869" title="CVE-2023-5869 Base Score: 8.8 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-10978" id="CVE-2024-10978" title="CVE-2024-10978 Base Score: 4.2 Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2023-5870" id="CVE-2023-5870" title="CVE-2023-5870 Base Score: 4.4 Vector: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2020-14350" id="CVE-2020-14350" title="CVE-2020-14350 Base Score: 7.3 Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-10979" id="CVE-2024-10979" title="CVE-2024-10979 Base Score: 8.8 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-10977" id="CVE-2024-10977" title="CVE-2024-10977 Base Score: 3.1 Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-10976" id="CVE-2024-10976" title="CVE-2024-10976 Base Score: 4.2 Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2024-7348" id="CVE-2024-7348" title="CVE-2024-7348 Base Score: 7.5 Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2023-5868" id="CVE-2023-5868" title="CVE-2023-5868 Base Score: 4.3 Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2018-16850" id="CVE-2018-16850" title="CVE-2018-16850 Base Score: 9.8 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
    </references>
    <description>Security Fix(es):

It was found that PostgreSQL versions before 12.4, before 11.9 and before 10.14 did not properly sanitize the search_path during logical replication. An authenticated attacker could use this flaw in an attack similar to CVE-2018-1058, in order to execute arbitrary SQL command in the context of the user used for replication. (CVE-2020-14349)

A flaw was found in PostgreSQL_x27;s &quot;ALTER ... DEPENDS ON EXTENSION&quot;, where sub-commands did not perform authorization checks. An authenticated attacker could use this flaw in certain configurations to perform drop objects such as function, triggers, et al., leading to database corruption. This issue affects PostgreSQL versions before 12.2, before 11.7, before 10.12 and before 9.6.17. (CVE-2020-1720)

A vulnerability was found in PostgreSQL versions 11.x up to excluding 11.3, 10.x up to excluding 10.8, 9.6.x up to, excluding 9.6.13, 9.5.x up to, excluding 9.5.17. PostgreSQL maintains column statistics for tables. Certain statistics, such as histograms and lists of most common values, contain values taken from the column. PostgreSQL does not evaluate row security policies before consulting those statistics during query planning; an attacker can exploit this to read the most common values of certain columns. Affected columns are those for which the attacker has SELECT privilege and for which, in an ordinary query, row-level security prunes the set of rows visible to the attacker. (CVE-2019-10130)

A flaw was discovered in postgresql versions 9.4.x before 9.4.24, 9.5.x before 9.5.19, 9.6.x before 9.6.15, 10.x before 10.10 and 11.x before 11.5 where arbitrary SQL statements can be executed given a suitable SECURITY DEFINER function. An attacker, with EXECUTE permission on the function, can execute arbitrary SQL as the owner of the function. (CVE-2019-10208)

A flaw was found in PostgreSQL that allows authenticated database users to execute arbitrary code through missing overflow checks during SQL array value modification. This issue exists due to an integer overflow during array modification where a remote user can trigger the overflow by providing specially crafted data. This enables the execution of arbitrary code on the target system, allowing users to write arbitrary bytes to memory and extensively read the server_x27;s memory. (CVE-2023-5869)

Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended.  An attack requires the application to use SET ROLE, SET SESSION AUTHORIZATION, or an equivalent feature.  The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker.  If that query reacts to current_setting(_x27;role_x27;) or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION.  The attacker does not control which incorrect user ID applies.  Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries.  Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. (CVE-2024-10978)

A flaw was found in PostgreSQL involving the pg_cancel_backend role that signals background workers, including the logical replication launcher, autovacuum workers, and the autovacuum launcher. Successful exploitation requires a non-core extension with a less-resilient background worker and would affect that specific background worker only. This issue may allow a remote high privileged user to launch a denial of service (DoS) attack. (CVE-2023-5870)

It was found that some PostgreSQL extensions did not use search_path safely in their installation script. An attacker with sufficient privileges could use this flaw to trick an administrator into executing a specially crafted script, during the installation or update of such extension. This affects PostgreSQL versions before 12.4, before 11.9, before 10.14, before 9.6.19, and before 9.5.23. (CVE-2020-14350)

Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variables (e.g. PATH).  That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user.  Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. (CVE-2024-10979)

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 the libpq application.  For example, a man-in-the-middle attacker could send a long error message that a human or screen-scraper user of psql mistakes for valid query results.  This is probably not a concern for clients where the user interface unambiguously indicates the boundary between one error message and other text.  Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. (CVE-2024-10977)

Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended.  CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes.  They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy.  This has the same consequences as the two earlier CVEs.  That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles.  This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs.  Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications.  This affects only databases that have used CREATE POLICY to define a row security policy.  An attacker must tailor an attack to a particular application_x27;s pattern of query plan reuse, user ID changes, and role-specific row security policies.  Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. (CVE-2024-10976)

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 running pg_dump, which is often a superuser. The attack involves replacing another relation type with a view or foreign table. The attack requires waiting for pg_dump to start, but winning the race condition is trivial if the attacker retains an open transaction. Versions before PostgreSQL 16.4, 15.8, 14.13, 13.16, and 12.20 are affected. (CVE-2024-7348)

A memory disclosure vulnerability was found in PostgreSQL that allows remote users to access sensitive information by exploiting certain aggregate function calls with _x27;unknown_x27;-type arguments. Handling _x27;unknown_x27;-type values from string literals without type designation can disclose bytes, potentially revealing notable and confidential information. This issue exists due to excessive data output in aggregate function calls, enabling remote users to read some portion of system memory. (CVE-2023-5868)

postgresql before versions 11.1, 10.6 is vulnerable to a to SQL injection in pg_upgrade and pg_dump via CREATE TRIGGER ... REFERENCING. Using a purpose-crafted trigger definition, an attacker can cause arbitrary SQL statements to run, with superuser privileges. (CVE-2018-16850)
</description>
    <pkglist>
      <collection short="HCE 2.0" package="postgresql">
        <name>HCE 2.0</name>
        <package arch="aarch64" name="postgresql" version="13.18" release="1.hce2">
          <filename>postgresql-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-contrib" version="13.18" release="1.hce2">
          <filename>postgresql-contrib-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-docs" version="13.18" release="1.hce2">
          <filename>postgresql-docs-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-llvmjit" version="13.18" release="1.hce2">
          <filename>postgresql-llvmjit-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-plperl" version="13.18" release="1.hce2">
          <filename>postgresql-plperl-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-plpython3" version="13.18" release="1.hce2">
          <filename>postgresql-plpython3-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-pltcl" version="13.18" release="1.hce2">
          <filename>postgresql-pltcl-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-server" version="13.18" release="1.hce2">
          <filename>postgresql-server-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-server-devel" version="13.18" release="1.hce2">
          <filename>postgresql-server-devel-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-static" version="13.18" release="1.hce2">
          <filename>postgresql-static-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="postgresql-test" version="13.18" release="1.hce2">
          <filename>postgresql-test-13.18-1.hce2.aarch64.rpm</filename>
        </package>
        <package arch="noarch" name="postgresql-test-rpm-macros" version="13.18" release="1.hce2">
          <filename>postgresql-test-rpm-macros-13.18-1.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql" version="13.18" release="1.hce2">
          <filename>postgresql-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-contrib" version="13.18" release="1.hce2">
          <filename>postgresql-contrib-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-docs" version="13.18" release="1.hce2">
          <filename>postgresql-docs-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-llvmjit" version="13.18" release="1.hce2">
          <filename>postgresql-llvmjit-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-plperl" version="13.18" release="1.hce2">
          <filename>postgresql-plperl-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-plpython3" version="13.18" release="1.hce2">
          <filename>postgresql-plpython3-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-pltcl" version="13.18" release="1.hce2">
          <filename>postgresql-pltcl-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-server" version="13.18" release="1.hce2">
          <filename>postgresql-server-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-server-devel" version="13.18" release="1.hce2">
          <filename>postgresql-server-devel-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-static" version="13.18" release="1.hce2">
          <filename>postgresql-static-13.18-1.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="postgresql-test" version="13.18" release="1.hce2">
          <filename>postgresql-test-13.18-1.hce2.x86_64.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>
