ALASPOSTGRESQL13-2024-005

Related Vulnerabilities: CVE-2023-5868   CVE-2023-5869   CVE-2023-5870  

Certain aggregate function calls receiving "unknown"-type arguments could disclose bytes of server memory from the end of the "unknown"-type value to the next zero byte. One typically gets an "unknown"-type value via a string literal having no type designation. We have not confirmed or ruled out viability of attacks that arrange for presence of notable, confidential information in disclosed bytes. (CVE-2023-5868) While modifying certain SQL array values, missing overflow checks let authenticated database users write arbitrary bytes to a memory area that facilitates arbitrary code execution. Missing overflow checks also let authenticated database users read a wide area of server memory. The CVE-2021-32027 fix covered some attacks of this description, but it missed others. (CVE-2023-5869) The documentation says the pg_cancel_backend role cannot signal "a backend owned by a superuser". On the contrary, it can signal background workers, including the logical replication launcher. It can signal autovacuum workers and the autovacuum launcher. Signaling autovacuum workers and those two launchers provides no meaningful exploit, so exploiting this vulnerability requires a non-core extension with a less-resilient background worker. For example, a non-core background worker that does not auto-restart would experience a denial of service with respect to that particular background worker. (CVE-2023-5870)

ALASPOSTGRESQL13-2024-005


Amazon Linux 2 Security Advisory: ALASPOSTGRESQL13-2024-005
Advisory Release Date: 2024-01-19 02:20 Pacific
Advisory Updated Date: 2024-01-19 02:20 Pacific
Severity: Important

Issue Overview:

Certain aggregate function calls receiving "unknown"-type arguments could disclose bytes of server memory from the end of the "unknown"-type value to the next zero byte. One typically gets an "unknown"-type value via a string literal having no type designation. We have not confirmed or ruled out viability of attacks that arrange for presence of notable, confidential information in disclosed bytes. (CVE-2023-5868)

While modifying certain SQL array values, missing overflow checks let authenticated database users write arbitrary bytes to a memory area that facilitates arbitrary code execution. Missing overflow checks also let authenticated database users read a wide area of server memory. The CVE-2021-32027 fix covered some attacks of this description, but it missed others. (CVE-2023-5869)

The documentation says the pg_cancel_backend role cannot signal "a backend owned by a superuser". On the contrary, it can signal background workers, including the logical replication launcher. It can signal autovacuum workers and the autovacuum launcher. Signaling autovacuum workers and those two launchers provides no meaningful exploit, so exploiting this vulnerability requires a non-core extension with a less-resilient background worker. For example, a non-core background worker that does not auto-restart would experience a denial of service with respect to that particular background worker. (CVE-2023-5870)


Affected Packages:

postgresql


Note:

This advisory is applicable to Amazon Linux 2 - Postgresql13 Extra. Visit this page to learn more about Amazon Linux 2 (AL2) Extras and this FAQ section for the difference between AL2 Core and AL2 Extras advisories.


Issue Correction:
Run yum update postgresql to update your system.

New Packages:
aarch64:
    postgresql-13.13-1.amzn2.0.1.aarch64
    postgresql-private-libs-13.13-1.amzn2.0.1.aarch64
    postgresql-private-devel-13.13-1.amzn2.0.1.aarch64
    postgresql-server-13.13-1.amzn2.0.1.aarch64
    postgresql-docs-13.13-1.amzn2.0.1.aarch64
    postgresql-contrib-13.13-1.amzn2.0.1.aarch64
    postgresql-server-devel-13.13-1.amzn2.0.1.aarch64
    postgresql-static-13.13-1.amzn2.0.1.aarch64
    postgresql-upgrade-13.13-1.amzn2.0.1.aarch64
    postgresql-upgrade-devel-13.13-1.amzn2.0.1.aarch64
    postgresql-plperl-13.13-1.amzn2.0.1.aarch64
    postgresql-plpython3-13.13-1.amzn2.0.1.aarch64
    postgresql-pltcl-13.13-1.amzn2.0.1.aarch64
    postgresql-test-13.13-1.amzn2.0.1.aarch64
    postgresql-llvmjit-13.13-1.amzn2.0.1.aarch64
    postgresql-debuginfo-13.13-1.amzn2.0.1.aarch64

i686:
    postgresql-13.13-1.amzn2.0.1.i686
    postgresql-private-libs-13.13-1.amzn2.0.1.i686
    postgresql-private-devel-13.13-1.amzn2.0.1.i686
    postgresql-server-13.13-1.amzn2.0.1.i686
    postgresql-docs-13.13-1.amzn2.0.1.i686
    postgresql-contrib-13.13-1.amzn2.0.1.i686
    postgresql-server-devel-13.13-1.amzn2.0.1.i686
    postgresql-static-13.13-1.amzn2.0.1.i686
    postgresql-upgrade-13.13-1.amzn2.0.1.i686
    postgresql-upgrade-devel-13.13-1.amzn2.0.1.i686
    postgresql-plperl-13.13-1.amzn2.0.1.i686
    postgresql-plpython3-13.13-1.amzn2.0.1.i686
    postgresql-pltcl-13.13-1.amzn2.0.1.i686
    postgresql-test-13.13-1.amzn2.0.1.i686
    postgresql-llvmjit-13.13-1.amzn2.0.1.i686
    postgresql-debuginfo-13.13-1.amzn2.0.1.i686

noarch:
    postgresql-test-rpm-macros-13.13-1.amzn2.0.1.noarch

src:
    postgresql-13.13-1.amzn2.0.1.src

x86_64:
    postgresql-13.13-1.amzn2.0.1.x86_64
    postgresql-private-libs-13.13-1.amzn2.0.1.x86_64
    postgresql-private-devel-13.13-1.amzn2.0.1.x86_64
    postgresql-server-13.13-1.amzn2.0.1.x86_64
    postgresql-docs-13.13-1.amzn2.0.1.x86_64
    postgresql-contrib-13.13-1.amzn2.0.1.x86_64
    postgresql-server-devel-13.13-1.amzn2.0.1.x86_64
    postgresql-static-13.13-1.amzn2.0.1.x86_64
    postgresql-upgrade-13.13-1.amzn2.0.1.x86_64
    postgresql-upgrade-devel-13.13-1.amzn2.0.1.x86_64
    postgresql-plperl-13.13-1.amzn2.0.1.x86_64
    postgresql-plpython3-13.13-1.amzn2.0.1.x86_64
    postgresql-pltcl-13.13-1.amzn2.0.1.x86_64
    postgresql-test-13.13-1.amzn2.0.1.x86_64
    postgresql-llvmjit-13.13-1.amzn2.0.1.x86_64
    postgresql-debuginfo-13.13-1.amzn2.0.1.x86_64