Lucene search

K
nessusUbuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.UBUNTU_USN-4843-1.NASL
HistoryOct 16, 2023 - 12:00 a.m.

Ubuntu 16.04 ESM / 18.04 ESM / 20.04 ESM : phpMyAdmin vulnerabilities (USN-4843-1)

2023-10-1600:00:00
Ubuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
18

The remote Ubuntu 16.04 ESM / 18.04 ESM / 20.04 ESM host has a package installed that is affected by multiple vulnerabilities as referenced in the USN-4843-1 advisory.

  • libraries/common.inc.php in phpMyAdmin 4.0.x before 4.0.10.7, 4.1.x before 4.1.14.8, and 4.2.x before 4.2.13.1 allows remote attackers to cause a denial of service (resource consumption) via a long password.
    (CVE-2014-9218)

  • An issue was discovered in phpMyAdmin. A specially crafted database name could be used to run arbitrary PHP commands through the array export feature. All 4.6.x versions (prior to 4.6.4), 4.4.x versions (prior to 4.4.15.8), and 4.0.x versions (prior to 4.0.10.17) are affected. (CVE-2016-6609)

  • An issue was discovered in phpMyAdmin. In the user interface preference feature, a user can execute an SQL injection attack against the account of the control user. All 4.6.x versions (prior to 4.6.4), 4.4.x versions (prior to 4.4.15.8), and 4.0.x versions (prior to 4.0.10.17) are affected. (CVE-2016-6619)

  • An issue was discovered in phpMyAdmin. An authenticated user can trigger a denial-of-service (DoS) attack by entering a very long password at the change password dialog. All 4.6.x versions (prior to 4.6.4), 4.4.x versions (prior to 4.4.15.8), and 4.0.x versions (prior to 4.0.10.17) are affected. (CVE-2016-6630)

  • An issue was discovered in phpMyAdmin. It is possible to bypass AllowRoot restriction ($cfg[‘Servers’][$i][‘AllowRoot’]) and deny rules for username by using Null Byte in the username. All 4.6.x versions (prior to 4.6.5), 4.4.x versions (prior to 4.4.15.9), and 4.0.x versions (prior to 4.0.10.18) are affected. (CVE-2016-9849)

  • An issue was discovered in phpMyAdmin. When the arg_separator is different from its default & value, the CSRF token was not properly stripped from the return URL of the preference import action. All 4.6.x versions (prior to 4.6.5), 4.4.x versions (prior to 4.4.15.9), and 4.0.x versions (prior to 4.0.10.18) are affected. (CVE-2016-9866)

  • An issue was discovered in libraries/common.inc.php in phpMyAdmin 4.0 before 4.0.10.20, 4.4.x, 4.6.x, and 4.7.0 prereleases. The restrictions caused by $cfg[‘Servers’][$i][‘AllowNoPassword’] = false are bypassed under certain PHP versions (e.g., version 5). This can allow the login of users who have no password set even if the administrator has set $cfg[‘Servers’][$i][‘AllowNoPassword’] to false (which is also the default). This occurs because some implementations of the PHP substr function return false when given ‘’ as the first argument. (CVE-2017-18264)

  • phpMyAdmin 4.0, 4.4, and 4.6 are vulnerable to a DOS weakness in the table editing functionality (CVE-2017-1000014)

  • phpMyAdmin 4.0, 4.4, and 4.6 are vulnerable to a CSS injection attack through crafted cookie parameters (CVE-2017-1000015)

  • Cross-site scripting (XSS) vulnerability in db_central_columns.php in phpMyAdmin before 4.7.8 allows remote authenticated users to inject arbitrary web script or HTML via a crafted URL. (CVE-2018-7260)

  • An issue was discovered in js/designer/move.js in phpMyAdmin before 4.8.2. A Cross-Site Scripting vulnerability has been found where an attacker can use a crafted database name to trigger an XSS attack when that database is referenced from the Designer feature. (CVE-2018-12581)

  • An attacker can exploit phpMyAdmin before 4.8.4 to leak the contents of a local file because of an error in the transformation feature. The attacker must have access to the phpMyAdmin Configuration Storage tables, although these can easily be created in any database to which the attacker has access. An attacker must have valid credentials to log in to phpMyAdmin; this vulnerability does not allow an attacker to circumvent the login system. (CVE-2018-19968)

  • In phpMyAdmin before 4.8.4, an XSS vulnerability was found in the navigation tree, where an attacker can deliver a payload to a user through a crafted database/table name. (CVE-2018-19970)

  • An issue was discovered in phpMyAdmin before 4.8.5. A vulnerability was reported where a specially crafted username can be used to trigger a SQL injection attack through the designer feature. (CVE-2019-6798)

  • An issue was discovered in phpMyAdmin before 4.9.0.1. A vulnerability was reported where a specially crafted database name can be used to trigger an SQL injection attack through the designer feature.
    (CVE-2019-11768)

  • An issue was discovered in phpMyAdmin before 4.9.0. A vulnerability was found that allows an attacker to trigger a CSRF attack against a phpMyAdmin user. The attacker can trick the user, for instance through a broken <img> tag pointing at the victim’s phpMyAdmin database, and the attacker can potentially deliver a payload (such as a specific INSERT or DELETE statement) to the victim. (CVE-2019-12616)

  • A CSRF issue in phpMyAdmin 4.9.0.1 allows deletion of any server in the Setup page. (CVE-2019-12922)

  • phpMyAdmin before 4.9.2 does not escape certain Git information, related to libraries/classes/Display/GitRevision.php and libraries/classes/Footer.php. (CVE-2019-19617)

  • In phpMyAdmin 4 before 4.9.4 and 5 before 5.0.1, SQL injection exists in the user accounts page. A malicious user could inject custom SQL in place of their own username when creating queries to this page.
    An attacker must have a valid MySQL account to access the server. (CVE-2020-5504)

  • phpMyAdmin before 4.9.6 and 5.x before 5.0.3 allows XSS through the transformation feature via a crafted link. (CVE-2020-26934)

  • An issue was discovered in SearchController in phpMyAdmin before 4.9.6 and 5.x before 5.0.3. A SQL injection vulnerability was discovered in how phpMyAdmin processes SQL statements in the search feature.
    An attacker could use this flaw to inject malicious SQL in to a query. (CVE-2020-26935)

Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.

#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Ubuntu Security Notice USN-4843-1. The text
# itself is copyright (C) Canonical, Inc. See
# <https://ubuntu.com/security/notices>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##

include('compat.inc');

if (description)
{
  script_id(183178);
  script_version("1.0");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/10/16");

  script_cve_id(
    "CVE-2014-9218",
    "CVE-2016-6609",
    "CVE-2016-6619",
    "CVE-2016-6630",
    "CVE-2016-9849",
    "CVE-2016-9866",
    "CVE-2017-18264",
    "CVE-2017-1000014",
    "CVE-2017-1000015",
    "CVE-2018-7260",
    "CVE-2018-12581",
    "CVE-2018-19968",
    "CVE-2018-19970",
    "CVE-2019-6798",
    "CVE-2019-11768",
    "CVE-2019-12616",
    "CVE-2019-12922",
    "CVE-2019-19617",
    "CVE-2020-5504",
    "CVE-2020-26934",
    "CVE-2020-26935"
  );
  script_xref(name:"USN", value:"4843-1");

  script_name(english:"Ubuntu 16.04 ESM / 18.04 ESM / 20.04 ESM : phpMyAdmin vulnerabilities (USN-4843-1)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote Ubuntu 16.04 ESM / 18.04 ESM / 20.04 ESM host has a package installed that is affected by multiple
vulnerabilities as referenced in the USN-4843-1 advisory.

  - libraries/common.inc.php in phpMyAdmin 4.0.x before 4.0.10.7, 4.1.x before 4.1.14.8, and 4.2.x before
    4.2.13.1 allows remote attackers to cause a denial of service (resource consumption) via a long password.
    (CVE-2014-9218)

  - An issue was discovered in phpMyAdmin. A specially crafted database name could be used to run arbitrary
    PHP commands through the array export feature. All 4.6.x versions (prior to 4.6.4), 4.4.x versions (prior
    to 4.4.15.8), and 4.0.x versions (prior to 4.0.10.17) are affected. (CVE-2016-6609)

  - An issue was discovered in phpMyAdmin. In the user interface preference feature, a user can execute an SQL
    injection attack against the account of the control user. All 4.6.x versions (prior to 4.6.4), 4.4.x
    versions (prior to 4.4.15.8), and 4.0.x versions (prior to 4.0.10.17) are affected. (CVE-2016-6619)

  - An issue was discovered in phpMyAdmin. An authenticated user can trigger a denial-of-service (DoS) attack
    by entering a very long password at the change password dialog. All 4.6.x versions (prior to 4.6.4), 4.4.x
    versions (prior to 4.4.15.8), and 4.0.x versions (prior to 4.0.10.17) are affected. (CVE-2016-6630)

  - An issue was discovered in phpMyAdmin. It is possible to bypass AllowRoot restriction
    ($cfg['Servers'][$i]['AllowRoot']) and deny rules for username by using Null Byte in the username. All
    4.6.x versions (prior to 4.6.5), 4.4.x versions (prior to 4.4.15.9), and 4.0.x versions (prior to
    4.0.10.18) are affected. (CVE-2016-9849)

  - An issue was discovered in phpMyAdmin. When the arg_separator is different from its default & value, the
    CSRF token was not properly stripped from the return URL of the preference import action. All 4.6.x
    versions (prior to 4.6.5), 4.4.x versions (prior to 4.4.15.9), and 4.0.x versions (prior to 4.0.10.18) are
    affected. (CVE-2016-9866)

  - An issue was discovered in libraries/common.inc.php in phpMyAdmin 4.0 before 4.0.10.20, 4.4.x, 4.6.x, and
    4.7.0 prereleases. The restrictions caused by $cfg['Servers'][$i]['AllowNoPassword'] = false are bypassed
    under certain PHP versions (e.g., version 5). This can allow the login of users who have no password set
    even if the administrator has set $cfg['Servers'][$i]['AllowNoPassword'] to false (which is also the
    default). This occurs because some implementations of the PHP substr function return false when given ''
    as the first argument. (CVE-2017-18264)

  - phpMyAdmin 4.0, 4.4, and 4.6 are vulnerable to a DOS weakness in the table editing functionality
    (CVE-2017-1000014)

  - phpMyAdmin 4.0, 4.4, and 4.6 are vulnerable to a CSS injection attack through crafted cookie parameters
    (CVE-2017-1000015)

  - Cross-site scripting (XSS) vulnerability in db_central_columns.php in phpMyAdmin before 4.7.8 allows
    remote authenticated users to inject arbitrary web script or HTML via a crafted URL. (CVE-2018-7260)

  - An issue was discovered in js/designer/move.js in phpMyAdmin before 4.8.2. A Cross-Site Scripting
    vulnerability has been found where an attacker can use a crafted database name to trigger an XSS attack
    when that database is referenced from the Designer feature. (CVE-2018-12581)

  - An attacker can exploit phpMyAdmin before 4.8.4 to leak the contents of a local file because of an error
    in the transformation feature. The attacker must have access to the phpMyAdmin Configuration Storage
    tables, although these can easily be created in any database to which the attacker has access. An attacker
    must have valid credentials to log in to phpMyAdmin; this vulnerability does not allow an attacker to
    circumvent the login system. (CVE-2018-19968)

  - In phpMyAdmin before 4.8.4, an XSS vulnerability was found in the navigation tree, where an attacker can
    deliver a payload to a user through a crafted database/table name. (CVE-2018-19970)

  - An issue was discovered in phpMyAdmin before 4.8.5. A vulnerability was reported where a specially crafted
    username can be used to trigger a SQL injection attack through the designer feature. (CVE-2019-6798)

  - An issue was discovered in phpMyAdmin before 4.9.0.1. A vulnerability was reported where a specially
    crafted database name can be used to trigger an SQL injection attack through the designer feature.
    (CVE-2019-11768)

  - An issue was discovered in phpMyAdmin before 4.9.0. A vulnerability was found that allows an attacker to
    trigger a CSRF attack against a phpMyAdmin user. The attacker can trick the user, for instance through a
    broken <img> tag pointing at the victim's phpMyAdmin database, and the attacker can potentially deliver a
    payload (such as a specific INSERT or DELETE statement) to the victim. (CVE-2019-12616)

  - A CSRF issue in phpMyAdmin 4.9.0.1 allows deletion of any server in the Setup page. (CVE-2019-12922)

  - phpMyAdmin before 4.9.2 does not escape certain Git information, related to
    libraries/classes/Display/GitRevision.php and libraries/classes/Footer.php. (CVE-2019-19617)

  - In phpMyAdmin 4 before 4.9.4 and 5 before 5.0.1, SQL injection exists in the user accounts page. A
    malicious user could inject custom SQL in place of their own username when creating queries to this page.
    An attacker must have a valid MySQL account to access the server. (CVE-2020-5504)

  - phpMyAdmin before 4.9.6 and 5.x before 5.0.3 allows XSS through the transformation feature via a crafted
    link. (CVE-2020-26934)

  - An issue was discovered in SearchController in phpMyAdmin before 4.9.6 and 5.x before 5.0.3. A SQL
    injection vulnerability was discovered in how phpMyAdmin processes SQL statements in the search feature.
    An attacker could use this flaw to inject malicious SQL in to a query. (CVE-2020-26935)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/notices/USN-4843-1");
  script_set_attribute(attribute:"solution", value:
"Update the affected phpmyadmin package.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:POC/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:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2020-26935");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2014/12/03");
  script_set_attribute(attribute:"patch_publication_date", value:"2021/03/16");
  script_set_attribute(attribute:"plugin_publication_date", value:"2023/10/16");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:esm");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:esm");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:esm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:phpmyadmin");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

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

  script_copyright(english:"Ubuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");

  exit(0);
}

include('debian_package.inc');

if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('16.04' >< os_release || '18.04' >< os_release || '20.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 16.04 / 18.04 / 20.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) 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$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);

var pkgs = [
    {'osver': '16.04', 'pkgname': 'phpmyadmin', 'pkgver': '4:4.5.4.1-2ubuntu2.1+esm6'},
    {'osver': '18.04', 'pkgname': 'phpmyadmin', 'pkgver': '4:4.6.6-5ubuntu0.5+esm1'},
    {'osver': '20.04', 'pkgname': 'phpmyadmin', 'pkgver': '4:4.9.5+dfsg1-2ubuntu0.1~esm1'}
];

var flag = 0;
foreach package_array ( pkgs ) {
  var osver = NULL;
  var pkgname = NULL;
  var pkgver = NULL;
  if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
  if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
  if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
  if (osver && pkgname && pkgver) {
    if (ubuntu_check(osver:osver, pkgname:pkgname, pkgver:pkgver)) flag++;
  }
}

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_HOLE,
    extra      : ubuntu_report_get()
  );
  exit(0);
}
else
{
  var tested = ubuntu_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'phpmyadmin');
}
VendorProductVersionCPE
canonicalubuntu_linuxphpmyadminp-cpe:/a:canonical:ubuntu_linux:phpmyadmin
canonicalubuntu_linux16.04cpe:/o:canonical:ubuntu_linux:16.04:-:esm
canonicalubuntu_linux18.04cpe:/o:canonical:ubuntu_linux:18.04:-:esm
canonicalubuntu_linux20.04cpe:/o:canonical:ubuntu_linux:20.04:-:esm

References