Lucene search

K
nessusThis script is Copyright (C) 2017-2021 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2017-1215.NASL
HistorySep 11, 2017 - 12:00 a.m.

EulerOS 2.0 SP1 : posrgresql (EulerOS-SA-2017-1215)

2017-09-1100:00:00
This script is Copyright (C) 2017-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
16

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

  • It was found that some selectivity estimation functions did not check user privileges before providing information from pg_statistic, possibly leaking information. A non-administrative database user could use this flaw to steal some information from tables they are otherwise not allowed to access.
    (CVE-2017-7484)

  • It was found that the pg_user_mappings view could disclose information about user mappings to a foreign database to non-administrative database users. A database user with USAGE privilege for this mapping could, when querying the view, obtain user mapping data, such as the username and password used to connect to the foreign database. (CVE-2017-7486)

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 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(103073);
  script_version("3.13");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/06");

  script_cve_id(
    "CVE-2017-7484",
    "CVE-2017-7486"
  );

  script_name(english:"EulerOS 2.0 SP1 : posrgresql (EulerOS-SA-2017-1215)");
  script_summary(english:"Checks the rpm output for the updated packages.");

  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 posrgresql packages installed, the
EulerOS installation on the remote host is affected by the following
vulnerabilities :

  - It was found that some selectivity estimation functions
    did not check user privileges before providing
    information from pg_statistic, possibly leaking
    information. A non-administrative database user could
    use this flaw to steal some information from tables
    they are otherwise not allowed to access.
    (CVE-2017-7484)

  - It was found that the pg_user_mappings view could
    disclose information about user mappings to a foreign
    database to non-administrative database users. A
    database user with USAGE privilege for this mapping
    could, when querying the view, obtain user mapping
    data, such as the username and password used to connect
    to the foreign database. (CVE-2017-7486)

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-2017-1215
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?7b7c2c79");
  script_set_attribute(attribute:"solution", value:
"Update the affected posrgresql packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");

  script_set_attribute(attribute:"patch_publication_date", value:"2017/08/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/09/11");

  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) 2017-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");

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

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("rpm.inc");

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

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

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

uvp = get_kb_item("Host/EulerOS/uvp_version");
if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP1", "EulerOS UVP " + uvp);

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

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

flag = 0;

pkgs = ["postgresql-9.2.21-1",
        "postgresql-contrib-9.2.21-1",
        "postgresql-devel-9.2.21-1",
        "postgresql-docs-9.2.21-1",
        "postgresql-libs-9.2.21-1",
        "postgresql-plperl-9.2.21-1",
        "postgresql-plpython-9.2.21-1",
        "postgresql-pltcl-9.2.21-1",
        "postgresql-server-9.2.21-1",
        "postgresql-test-9.2.21-1"];

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

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "posrgresql");
}
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