Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities - Nessus

High   Plugin ID: 44861

This page contains detailed information about the Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 44861
Name: Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities
Filename: debian_DSA-1997.nasl
Vulnerability Published: N/A
This Plugin Published: 2010-02-24
Last Modification Time: 2021-01-04
Plugin Version: 1.13
Plugin Type: local
Plugin Family: Debian Local Security Checks
Dependencies: ssh_get_info.nasl
Required KB Items [?]: Host/Debian/dpkg-l, Host/Debian/release, Host/local_checks_enabled

Vulnerability Information


Severity: High
Vulnerability Published: N/A
Patch Published: 2010-02-14
CVE [?]: CVE-2009-4019, CVE-2009-4030, CVE-2009-4484
CPE [?]: cpe:/o:debian:debian_linux:4.0, cpe:/o:debian:debian_linux:5.0, p-cpe:/a:debian:debian_linux:mysql-dfsg-5.0

Synopsis

The remote Debian host is missing a security-related update.

Description

Several vulnerabilities have been discovered in the MySQL database server. The Common Vulnerabilities and Exposures project identifies the following problems :

- CVE-2009-4019 Domas Mituzas discovered that mysqld does not properly handle errors during execution of certain SELECT statements with subqueries, and does not preserve certain null_value flags during execution of statements that use the GeomFromWKB function, which allows remote authenticated users to cause a denial of service (daemon crash) via a crafted statement.

- CVE-2009-4030 Sergei Golubchik discovered that MySQL allows local users to bypass certain privilege checks by calling CREATE TABLE on a MyISAM table with modified DATA DIRECTORY or INDEX DIRECTORY arguments that are originally associated with pathnames without symlinks, and that can point to tables created at a future time at which a pathname is modified to contain a symlink to a subdirectory of the MySQL data home directory.

- CVE-2009-4484 Multiple stack-based buffer overflows in the CertDecoder::GetName function in src/asn.cpp in TaoCrypt in yaSSL before 1.9.9, as used in mysqld, allow remote attackers to execute arbitrary code or cause a denial of service (memory corruption and daemon crash) by establishing an SSL connection and sending an X.509 client certificate with a crafted name field.

Solution

Upgrade the mysql-dfsg-5.0 packages.

For the oldstable distribution (etch), these problems have been fixed in version 5.0.32-7etch12

For the stable distribution (lenny), these problems have been fixed in version 5.0.51a-24+lenny3

Public Exploits


Target Network Port(s): N/A
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB, GitHub, Core Impact)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities vulnerability:

  1. Metasploit: exploit/linux/mysql/mysql_yassl_getname
    [MySQL yaSSL CertDecoder::GetName Buffer Overflow]
  2. Exploit-DB: exploits/linux/remote/16850.rb
    [EDB-16850: MySQL - yaSSL CertDecoder::GetName Buffer Overflow (Metasploit)]
  3. GitHub: https://github.com/tomwillfixit/alpine-cvecheck
    [CVE-2009-4019]
  4. GitHub: https://github.com/CoolerVoid/Vision
    [CVE-2009-4484]
  5. GitHub: https://github.com/CoolerVoid/Vision2
    [CVE-2009-4484]
  6. GitHub: https://github.com/ptester36/netology_ib_networks_lesson_9
    [CVE-2009-4484]

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS V2 Vector [?]: AV:N/AC:L/Au:N/C:P/I:P/A:P/E:F/RL:OF/RC:C
CVSS Base Score:7.5 (High)
Impact Subscore:6.4
Exploitability Subscore:10.0
CVSS Temporal Score:6.2 (Medium)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:6.2 (Medium)

Go back to menu.

Plugin Source


This is the debian_DSA-1997.nasl nessus plugin source code. This script is Copyright (C) 2010-2021 and is owned by Tenable, Inc. or an Affiliate thereof.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Debian Security Advisory DSA-1997. The text 
# itself is copyright (C) Software in the Public Interest, Inc.
#

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

if (description)
{
  script_id(44861);
  script_version("1.13");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/04");

  script_cve_id("CVE-2009-4019", "CVE-2009-4030", "CVE-2009-4484");
  script_bugtraq_id(37075, 37640, 37943);
  script_xref(name:"DSA", value:"1997");

  script_name(english:"Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities");
  script_summary(english:"Checks dpkg output for the updated package");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Debian host is missing a security-related update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Several vulnerabilities have been discovered in the MySQL database
server. The Common Vulnerabilities and Exposures project identifies
the following problems :

  - CVE-2009-4019
    Domas Mituzas discovered that mysqld does not properly
    handle errors during execution of certain SELECT
    statements with subqueries, and does not preserve
    certain null_value flags during execution of statements
    that use the GeomFromWKB function, which allows remote
    authenticated users to cause a denial of service (daemon
    crash) via a crafted statement.

  - CVE-2009-4030
    Sergei Golubchik discovered that MySQL allows local
    users to bypass certain privilege checks by calling
    CREATE TABLE on a MyISAM table with modified DATA
    DIRECTORY or INDEX DIRECTORY arguments that are
    originally associated with pathnames without symlinks,
    and that can point to tables created at a future time at
    which a pathname is modified to contain a symlink to a
    subdirectory of the MySQL data home directory.

  - CVE-2009-4484
    Multiple stack-based buffer overflows in the
    CertDecoder::GetName function in src/asn.cpp in TaoCrypt
    in yaSSL before 1.9.9, as used in mysqld, allow remote
    attackers to execute arbitrary code or cause a denial of
    service (memory corruption and daemon crash) by
    establishing an SSL connection and sending an X.509
    client certificate with a crafted name field."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security-tracker.debian.org/tracker/CVE-2009-4019"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security-tracker.debian.org/tracker/CVE-2009-4030"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security-tracker.debian.org/tracker/CVE-2009-4484"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.debian.org/security/2010/dsa-1997"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"Upgrade the mysql-dfsg-5.0 packages.

For the oldstable distribution (etch), these problems have been fixed
in version 5.0.32-7etch12

For the stable distribution (lenny), these problems have been fixed in
version 5.0.51a-24+lenny3"
  );
  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:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'MySQL yaSSL CertDecoder::GetName Buffer Overflow');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_cwe_id(59, 119);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:mysql-dfsg-5.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:4.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:5.0");

  script_set_attribute(attribute:"patch_publication_date", value:"2010/02/14");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/02/24");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2010-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Debian Local Security Checks");

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

  exit(0);
}


include("audit.inc");
include("debian_package.inc");


if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);


flag = 0;
if (deb_check(release:"4.0", prefix:"libmysqlclient15-dev", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"libmysqlclient15off", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"mysql-client", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"mysql-client-5.0", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"mysql-common", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"mysql-server", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"mysql-server-4.1", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"4.0", prefix:"mysql-server-5.0", reference:"5.0.32-7etch12")) flag++;
if (deb_check(release:"5.0", prefix:"libmysqlclient15-dev", reference:"5.0.51a-24+lenny3")) flag++;
if (deb_check(release:"5.0", prefix:"libmysqlclient15off", reference:"5.0.51a-24+lenny3")) flag++;
if (deb_check(release:"5.0", prefix:"mysql-client", reference:"5.0.51a-24+lenny3")) flag++;
if (deb_check(release:"5.0", prefix:"mysql-client-5.0", reference:"5.0.51a-24+lenny3")) flag++;
if (deb_check(release:"5.0", prefix:"mysql-common", reference:"5.0.51a-24+lenny3")) flag++;
if (deb_check(release:"5.0", prefix:"mysql-server", reference:"5.0.51a-24+lenny3")) flag++;
if (deb_check(release:"5.0", prefix:"mysql-server-5.0", reference:"5.0.51a-24+lenny3")) flag++;

if (flag)
{
  if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
  else security_hole(0);
  exit(0);
}
else audit(AUDIT_HOST_NOT, "affected");

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/debian_DSA-1997.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\debian_DSA-1997.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/debian_DSA-1997.nasl

Go back to menu.

How to Run


Here is how to run the Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select Debian Local Security Checks plugin family.
  6. On the right side table select Debian DSA-1997-1 : mysql-dfsg-5.0 - several vulnerabilities plugin ID 44861.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl debian_DSA-1997.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a debian_DSA-1997.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - debian_DSA-1997.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state debian_DSA-1997.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: DSA | Debian Security Advisory: CWE | Common Weakness Enumeration:
  • CWE-59 (Weakness) Improper Link Resolution Before File Access ('Link Following')
  • CWE-119 (Weakness) Improper Restriction of Operations within the Bounds of a Memory Buffer
See also: Similar and related Nessus plugins:
  • 44948 - CentOS 5 : mysql (CESA-2010:0109)
  • 44647 - CentOS 4 : mysql (CESA-2010:0110)
  • 43113 - Fedora 10 : mysql-5.0.88-1.fc10 (2009-12180)
  • 43374 - Fedora 12 : mysql-5.1.41-2.fc12 (2009-13466)
  • 43375 - Fedora 11 : mysql-5.1.41-2.fc11 (2009-13504)
  • 57446 - GLSA-201201-02 : MySQL: Multiple vulnerabilities
  • 45372 - Mac OS X 10.6.x < 10.6.3 Multiple Vulnerabilities
  • 44043 - Mandriva Linux Security Advisory : mysql (MDVSA-2010:011)
  • 48166 - Mandriva Linux Security Advisory : mysql (MDVSA-2010:012)
  • 42899 - MySQL 5.0 < 5.0.88 Multiple Vulnerabilities
  • 42900 - MySQL 5.1 < 5.1.41 Multiple Vulnerabilities
  • 17835 - MySQL < 5.0.90 / 5.1.43 / 5.5.0-m2 Multiple Buffer Overflows
  • 67997 - Oracle Linux 5 : mysql (ELSA-2010-0109)
  • 67998 - Oracle Linux 4 : mysql (ELSA-2010-0110)
  • 44634 - RHEL 5 : mysql (RHSA-2010:0109)
  • 44635 - RHEL 4 : mysql (RHSA-2010:0110)
  • 60735 - Scientific Linux Security Update : mysql on SL4.x i386/x86_64
  • 60736 - Scientific Linux Security Update : mysql on SL5.x i386/x86_64
  • 46218 - openSUSE Security Update : libmysqlclient-devel (openSUSE-SU-2010:0198-1)
  • 46229 - openSUSE Security Update : libmysqlclient-devel (openSUSE-SU-2010:0198-2)
  • 46219 - openSUSE Security Update : libmysqlclient-devel (openSUSE-SU-2010:0198-1)
  • 46232 - openSUSE Security Update : libmysqlclient-devel (openSUSE-SU-2010:0198-2)
  • 46220 - openSUSE Security Update : libmysqlclient-devel (openSUSE-SU-2010:0198-1)
  • 46235 - openSUSE Security Update : libmysqlclient-devel (openSUSE-SU-2010:0198-2)
  • 50935 - SuSE 11 Security Update : MySQL (SAT Patch Number 2317)
  • 50523 - SuSE9 Security Update : MySQL (YOU Patch Number 12661)
  • 45107 - SuSE 10 Security Update : MySQL (ZYPP Patch Number 6897)
  • 49903 - SuSE 10 Security Update : MySQL (ZYPP Patch Number 6899)
  • 58325 - Ubuntu 8.04 LTS / 10.04 LTS / 10.10 / 11.04 / 11.10 : mysql-5.1, mysql-dfsg-5.0, mysql-dfsg-5.1 vulnerabilities (USN-1397-1)
  • 44585 - Ubuntu 6.06 LTS / 8.04 LTS / 8.10 / 9.04 / 9.10 : mysql-dfsg-5.0, mysql-dfsg-5.1 vulnerabilities (USN-897-1)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file debian_DSA-1997.nasl version 1.13. For more plugins, visit the Nessus Plugin Library.

Go back to menu.