Lucene search

K
nessusThis script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2023-1346.NASL
HistoryFeb 08, 2023 - 12:00 a.m.

EulerOS 2.0 SP8 : postgresql-10.5 (EulerOS-SA-2023-1346)

2023-02-0800:00:00
This script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
10

According to the versions of the postgresql-10.5 packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities :

  • Odyssey passes to server unencrypted bytes from man-in-the-middle When Odyssey is configured to use certificate Common Name for client authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption. This is similar to CVE-2021-23214 for PostgreSQL. (CVE-2021-43766)

  • Odyssey passes to client unencrypted bytes from man-in-the-middle When Odyssey storage is configured to use the PostgreSQL server using ‘trust’ authentication with a ‘clientcert’ requirement or to use ‘cert’ authentication, a man-in-the-middle attacker can inject false responses to the client’s first few queries.
    Despite the use of SSL certificate verification and encryption, Odyssey will pass these results to client as if they originated from valid server. This is similar to CVE-2021-23222 for PostgreSQL.
    (CVE-2021-43767)

Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.

#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(171204);
  script_version("1.0");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/02/08");

  script_cve_id("CVE-2021-43766", "CVE-2021-43767");

  script_name(english:"EulerOS 2.0 SP8 : postgresql-10.5 (EulerOS-SA-2023-1346)");

  script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS host is missing multiple security updates.");
  script_set_attribute(attribute:"description", value:
"According to the versions of the postgresql-10.5 packages installed, the EulerOS installation on the remote host is
affected by the following vulnerabilities :

  - Odyssey passes to server unencrypted bytes from man-in-the-middle When Odyssey is configured to use
    certificate Common Name for client authentication, a man-in-the-middle attacker can inject arbitrary SQL
    queries when a connection is first established, despite the use of SSL certificate verification and
    encryption. This is similar to CVE-2021-23214 for PostgreSQL. (CVE-2021-43766)

  - Odyssey passes to client unencrypted bytes from man-in-the-middle When Odyssey storage is configured to
    use the PostgreSQL server using 'trust' authentication with a 'clientcert' requirement or to use 'cert'
    authentication, a man-in-the-middle attacker can inject false responses to the client's first few queries.
    Despite the use of SSL certificate verification and encryption, Odyssey will pass these results to client
    as if they originated from valid server. This is similar to CVE-2021-23222 for PostgreSQL.
    (CVE-2021-43767)

Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security
advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional
issues.");
  # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2023-1346
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?f8ba7350");
  script_set_attribute(attribute:"solution", value:
"Update the affected postgresql-10.5 packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-43766");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2022/08/25");
  script_set_attribute(attribute:"patch_publication_date", value:"2023/02/08");
  script_set_attribute(attribute:"plugin_publication_date", value:"2023/02/08");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-contrib");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-docs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-plperl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-plpython");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-pltcl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-server");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:postgresql-test");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Huawei Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
  script_exclude_keys("Host/EulerOS/uvp_version");

  exit(0);
}

include("rpm.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);

var _release = get_kb_item("Host/EulerOS/release");
if (isnull(_release) || _release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
var uvp = get_kb_item("Host/EulerOS/uvp_version");
if (_release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8");

var sp = get_kb_item("Host/EulerOS/sp");
if (isnull(sp) || sp !~ "^(8)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8");

if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP8", "EulerOS UVP " + uvp);

if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu && "x86" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
if ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu);

var flag = 0;

var pkgs = [
  "postgresql-10.5-3.h16.eulerosv2r8",
  "postgresql-contrib-10.5-3.h16.eulerosv2r8",
  "postgresql-devel-10.5-3.h16.eulerosv2r8",
  "postgresql-docs-10.5-3.h16.eulerosv2r8",
  "postgresql-libs-10.5-3.h16.eulerosv2r8",
  "postgresql-plperl-10.5-3.h16.eulerosv2r8",
  "postgresql-plpython-10.5-3.h16.eulerosv2r8",
  "postgresql-pltcl-10.5-3.h16.eulerosv2r8",
  "postgresql-server-10.5-3.h16.eulerosv2r8",
  "postgresql-test-10.5-3.h16.eulerosv2r8"
];

foreach (var pkg in pkgs)
  if (rpm_check(release:"EulerOS-2.0", sp:"8", reference:pkg)) flag++;

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_HOLE,
    extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  var tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "postgresql-10.5");
}
VendorProductVersionCPE
huaweieulerospostgresqlp-cpe:/a:huawei:euleros:postgresql
huaweieulerospostgresql-contribp-cpe:/a:huawei:euleros:postgresql-contrib
huaweieulerospostgresql-develp-cpe:/a:huawei:euleros:postgresql-devel
huaweieulerospostgresql-docsp-cpe:/a:huawei:euleros:postgresql-docs
huaweieulerospostgresql-libsp-cpe:/a:huawei:euleros:postgresql-libs
huaweieulerospostgresql-plperlp-cpe:/a:huawei:euleros:postgresql-plperl
huaweieulerospostgresql-plpythonp-cpe:/a:huawei:euleros:postgresql-plpython
huaweieulerospostgresql-pltclp-cpe:/a:huawei:euleros:postgresql-pltcl
huaweieulerospostgresql-serverp-cpe:/a:huawei:euleros:postgresql-server
huaweieulerospostgresql-testp-cpe:/a:huawei:euleros:postgresql-test
Rows per page:
1-10 of 111