The SUSE security advisory SUSE-SU-2023:4495-1 announces an update for the 'postgresql, postgresql15, postgresql16' package(s) that addresses multiple security issues, including CVE-2023-5868, CVE-2023-5869, and CVE-2023-5870
Reporter | Title | Published | Views | Family All 199 |
---|---|---|---|---|
![]() | postgresql-12, postgresql-14, postgresql-15 vulnerabilities | 6 Dec 202315:11 | – | osv |
![]() | OPENSUSE-SU-2024:13414-1 libecpg6-16.1-1.1 on GA media | 15 Jun 202400:00 | – | osv |
![]() | OPENSUSE-SU-2024:13409-1 postgresql13-13.13-1.1 on GA media | 15 Jun 202400:00 | – | osv |
![]() | postgresql-10 vulnerabilities | 17 Jan 202405:20 | – | osv |
![]() | OPENSUSE-SU-2024:13410-1 postgresql14-14.10-1.1 on GA media | 15 Jun 202400:00 | – | osv |
![]() | postgresql-11 - security update | 14 Nov 202300:00 | – | osv |
![]() | OPENSUSE-SU-2024:13413-1 postgresql15-15.5-1.1 on GA media | 15 Jun 202400:00 | – | osv |
![]() | OPENSUSE-SU-2024:13408-1 postgresql11-11.22-1.1 on GA media | 15 Jun 202400:00 | – | osv |
![]() | RHSA-2023:7784 Red Hat Security Advisory: postgresql security update | 13 Sep 202423:51 | – | osv |
![]() | RHSA-2023:7656 Red Hat Security Advisory: postgresql:12 security update | 13 Sep 202423:52 | – | osv |
Source | Link |
---|---|
bugzilla | www.bugzilla.suse.com/1216022 |
bugzilla | www.bugzilla.suse.com/1216961 |
bugzilla | www.bugzilla.suse.com/1122892 |
bugzilla | www.bugzilla.suse.com/1209208 |
bugzilla | www.bugzilla.suse.com/1179231 |
postgresql | www.postgresql.org/docs/16/release-16.html |
postgresql | www.postgresql.org/docs/15/release-15-5.html |
postgresql | www.postgresql.org/docs/16/release-16-1.html |
postgresql | www.postgresql.org/about/news/2715 |
bugzilla | www.bugzilla.suse.com/1206796 |
# SPDX-FileCopyrightText: 2023 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only
if(description)
{
script_oid("1.3.6.1.4.1.25623.1.1.4.2023.4495.1");
script_cve_id("CVE-2023-5868", "CVE-2023-5869", "CVE-2023-5870");
script_tag(name:"creation_date", value:"2023-11-22 04:22:27 +0000 (Wed, 22 Nov 2023)");
script_version("2025-02-14T08:35:38+0000");
script_tag(name:"last_modification", value:"2025-02-14 08:35:38 +0000 (Fri, 14 Feb 2025)");
script_tag(name:"cvss_base", value:"9.0");
script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:S/C:C/I:C/A:C");
script_tag(name:"severity_vector", value:"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
script_tag(name:"severity_origin", value:"NVD");
script_tag(name:"severity_date", value:"2023-12-10 18:15:07 +0000 (Sun, 10 Dec 2023)");
script_name("SUSE: Security Advisory (SUSE-SU-2023:4495-1)");
script_category(ACT_GATHER_INFO);
script_copyright("Copyright (C) 2023 Greenbone AG");
script_family("SuSE Local Security Checks");
script_dependencies("gather-package-list.nasl");
script_mandatory_keys("ssh/login/suse_sles", "ssh/login/rpms", re:"ssh/login/release=(SLES15\.0SP2|SLES15\.0SP3)");
script_xref(name:"Advisory-ID", value:"SUSE-SU-2023:4495-1");
script_xref(name:"URL", value:"https://www.suse.com/support/update/announcement/2023/suse-su-20234495-1/");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1122892");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1179231");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1206796");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1209208");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1216022");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1216734");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1216960");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1216961");
script_xref(name:"URL", value:"https://bugzilla.suse.com/1216962");
script_xref(name:"URL", value:"https://lists.suse.com/pipermail/sle-security-updates/2023-November/017129.html");
script_xref(name:"URL", value:"https://www.postgresql.org/about/news/2715");
script_xref(name:"URL", value:"https://www.postgresql.org/docs/15/release-15-5.html");
script_xref(name:"URL", value:"https://www.postgresql.org/docs/16/release-16-1.html");
script_xref(name:"URL", value:"https://www.postgresql.org/docs/16/release-16.html");
script_tag(name:"summary", value:"The remote host is missing an update for the 'postgresql, postgresql15, postgresql16' package(s) announced via the SUSE-SU-2023:4495-1 advisory.");
script_tag(name:"vuldetect", value:"Checks if a vulnerable package version is present on the target host.");
script_tag(name:"insight", value:"This update for postgresql, postgresql15, postgresql16 fixes the following issues:
This update ships postgresql 16.
Security issues fixed:
* CVE-2023-5868: Fix handling of unknown-type
arguments in DISTINCT 'any' aggregate functions. This error led
to a text-type value being interpreted as an unknown-type value
(that is, a zero-terminated string) at runtime. This could
result in disclosure of server memory following the text value. (bsc#1216962)
* CVE-2023-5869: Detect integer overflow while
computing new array dimensions. When assigning new elements to
array subscripts that are outside the current array bounds, an
undetected integer overflow could occur in edge cases. Memory
stomps that are potentially exploitable for arbitrary code
execution are possible, and so is disclosure of server memory. (bsc#1216961)
* CVE-2023-5870: Prevent the pg_signal_backend role
from signalling background workers and autovacuum processes.
The documentation says that pg_signal_backend cannot issue
signals to superuser-owned processes. It was able to signal
these background processes, though, because they advertise a
role OID of zero. Treat that as indicating superuser ownership.
The security implications of cancelling one of these process
types are fairly small so far as the core code goes (we'll just
start another one), but extensions might add background workers
that are more vulnerable.
Also ensure that the is_superuser parameter is set correctly in
such processes. No specific security consequences are known for
that oversight, but it might be significant for some extensions.
(bsc#1216960)
Changes in postgresql16:
- Upgrade to 16.1:
* [links moved to references]
- Overhaul postgresql-README.SUSE and move it from the binary
package to the noarch wrapper package.
- Change the unix domain socket location from /var/run to /run.
Changes in postgresql15:
- Update to 15.5 [link moved to references]
- The libs and mini package are now provided by postgresql16.
- Overhaul postgresql-README.SUSE and move it from the binary
package to the noarch wrapper package.
- Change the unix domain socket location from /var/run to /run.
Changes in postgresql:
- Interlock version and release of all noarch packages except for
the postgresql-docs.
- bsc#1122892: Add a sysconfig variable for initdb.
- Overhaul postgresql-README.SUSE and move it from the binary
package to the noarch wrapper package.
- bsc#1179231: Add an explanation for the /tmp -> /run/postgresql
move and permission change.
- Add postgresql-README as a separate source file.
- bsc#1209208: Drop hard dependency on systemd
- bsc#1206796: Refine the distinction of where to use sysusers and
use bcond to have the expression only in one place.");
script_tag(name:"affected", value:"'postgresql, postgresql15, postgresql16' package(s) on SUSE Linux Enterprise Server 15-SP2, SUSE Linux Enterprise Server 15-SP3, SUSE Linux Enterprise Server for SAP Applications 15-SP2, SUSE Linux Enterprise Server for SAP Applications 15-SP3.");
script_tag(name:"solution", value:"Please install the updated package(s).");
script_tag(name:"solution_type", value:"VendorFix");
script_tag(name:"qod_type", value:"package");
exit(0);
}
include("revisions-lib.inc");
include("pkg-lib-rpm.inc");
release = rpm_get_ssh_release();
if(!release)
exit(0);
res = "";
report = "";
if(release == "SLES15.0SP2") {
if(!isnull(res = isrpmvuln(pkg:"libecpg6", rpm:"libecpg6~16.1~150200.5.7.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpq5", rpm:"libpq5~16.1~150200.5.7.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpq5-32bit", rpm:"libpq5-32bit~16.1~150200.5.7.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql", rpm:"postgresql~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-contrib", rpm:"postgresql-contrib~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-devel", rpm:"postgresql-devel~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-docs", rpm:"postgresql-docs~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-plperl", rpm:"postgresql-plperl~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-plpython", rpm:"postgresql-plpython~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-pltcl", rpm:"postgresql-pltcl~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-server", rpm:"postgresql-server~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-server-devel", rpm:"postgresql-server-devel~16~150200.4.24.1", rls:"SLES15.0SP2"))) {
report += res;
}
if(report != "") {
security_message(data:report);
} else if(__pkg_match) {
exit(99);
}
exit(0);
}
if(release == "SLES15.0SP3") {
if(!isnull(res = isrpmvuln(pkg:"libecpg6", rpm:"libecpg6~16.1~150200.5.7.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"libpq5", rpm:"libpq5~16.1~150200.5.7.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql", rpm:"postgresql~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-contrib", rpm:"postgresql-contrib~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-devel", rpm:"postgresql-devel~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-docs", rpm:"postgresql-docs~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-plperl", rpm:"postgresql-plperl~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-plpython", rpm:"postgresql-plpython~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-pltcl", rpm:"postgresql-pltcl~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-server", rpm:"postgresql-server~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql-server-devel", rpm:"postgresql-server-devel~16~150300.10.18.3", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15", rpm:"postgresql15~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-contrib", rpm:"postgresql15-contrib~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-devel", rpm:"postgresql15-devel~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-docs", rpm:"postgresql15-docs~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-plperl", rpm:"postgresql15-plperl~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-plpython", rpm:"postgresql15-plpython~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-pltcl", rpm:"postgresql15-pltcl~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-server", rpm:"postgresql15-server~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(!isnull(res = isrpmvuln(pkg:"postgresql15-server-devel", rpm:"postgresql15-server-devel~15.5~150200.5.19.1", rls:"SLES15.0SP3"))) {
report += res;
}
if(report != "") {
security_message(data:report);
} else if(__pkg_match) {
exit(99);
}
exit(0);
}
exit(0);
Transform Your Security Services
Elevate your offerings with Vulners' advanced Vulnerability Intelligence. Contact us for a demo and discover the difference comprehensive, actionable intelligence can make in your security strategy.
Book a live demo