RHEL 5 : udev (RHSA-2009:0427) - Nessus

High   Plugin ID: 36177

This page contains detailed information about the RHEL 5 : udev (RHSA-2009:0427) Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 36177
Name: RHEL 5 : udev (RHSA-2009:0427)
Filename: redhat-RHSA-2009-0427.nasl
Vulnerability Published: 2009-04-17
This Plugin Published: 2009-04-17
Last Modification Time: 2021-01-14
Plugin Version: 1.31
Plugin Type: local
Plugin Family: Red Hat Local Security Checks
Dependencies: ssh_get_info.nasl
Required KB Items [?]: Host/cpu, Host/local_checks_enabled, Host/RedHat/release, Host/RedHat/rpm-list

Vulnerability Information


Severity: High
Vulnerability Published: 2009-04-17
Patch Published: 2009-04-16
CVE [?]: CVE-2009-1185
CPE [?]: cpe:/o:redhat:enterprise_linux:5, cpe:/o:redhat:enterprise_linux:5.3, p-cpe:/a:redhat:enterprise_linux:libvolume_id, p-cpe:/a:redhat:enterprise_linux:libvolume_id-devel, p-cpe:/a:redhat:enterprise_linux:udev
Exploited by Malware: True

Synopsis

The remote Red Hat host is missing one or more security updates.

Description

Updated udev packages that fix one security issue are now available for Red Hat Enterprise Linux 5.

This update has been rated as having important security impact by the Red Hat Security Response Team.

udev provides a user-space API and implements a dynamic device directory, providing only the devices present on the system. udev replaces devfs in order to provide greater hot plug functionality. Netlink is a datagram oriented service, used to transfer information between kernel modules and user-space processes.

It was discovered that udev did not properly check the origin of Netlink messages. A local attacker could use this flaw to gain root privileges via a crafted Netlink message sent to udev, causing it to create a world-writable block device file for an existing system block device (for example, the root file system). (CVE-2009-1185)

Red Hat would like to thank Sebastian Krahmer of the SUSE Security Team for responsibly reporting this flaw.

Users of udev are advised to upgrade to these updated packages, which contain a backported patch to correct this issue. After installing the update, the udevd daemon will be restarted automatically.

Solution

Update the affected libvolume_id, libvolume_id-devel and / or udev packages.

Public Exploits


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

Here's the list of publicly known exploits and PoCs for verifying the RHEL 5 : udev (RHSA-2009:0427) vulnerability:

  1. Metasploit: exploit/linux/local/udev_netlink
    [Linux udev Netlink Local Privilege Escalation]
  2. Exploit-DB: exploits/linux/local/8572.c
    [EDB-8572: Linux Kernel 2.6 (Gentoo / Ubuntu 8.10/9.04) UDEV < 1.4.1 - Local Privilege Escalation (2)]
  3. Exploit-DB: exploits/linux/local/21848.rb
    [EDB-21848: Linux Kernel UDEV < 1.4.1 - 'Netlink' Local Privilege Escalation (Metasploit)]
  4. GitHub: https://github.com/Al1ex/LinuxEelvation
    [CVE-2009-1185]
  5. GitHub: https://github.com/De4dCr0w/Linux-kernel-EoP-exp
    [CVE-2009-1185]
  6. GitHub: https://github.com/InteliSecureLabs/Linux_Exploit_Suggester
    [CVE-2009-1185]
  7. GitHub: https://github.com/PleXone2019/Linux_Exploit_Suggester
    [CVE-2009-1185]
  8. GitHub: https://github.com/R0B1NL1N/Linux-Kernal-Exploits-m-
    [CVE-2009-1185]
  9. GitHub: https://github.com/R0B1NL1N/Linux-Kernel-Exploites
    [CVE-2009-1185]
  10. GitHub: https://github.com/Snoopy-Sec/Localroot-ALL-CVE
    [CVE-2009-1185]
  11. GitHub: https://github.com/amane312/Linux_menthor
    [CVE-2009-1185]
  12. GitHub: https://github.com/baoloc10/SoftwareSec-Metasploitable2
    [CVE-2009-1185]
  13. GitHub: https://github.com/ferovap/Tools
    [CVE-2009-1185]
  14. GitHub: https://github.com/frizb/Linux-Privilege-Escalation
    [CVE-2009-1185]
  15. GitHub: https://github.com/h4x0r-dz/local-root-exploit-
    [CVE-2009-1185]
  16. GitHub: https://github.com/ismailvc1111/Linux_Privilege
    [CVE-2009-1185]
  17. GitHub: https://github.com/moorejacob2017/Simple-Metasploitable2-RootKit
    [CVE-2009-1185]
  18. GitHub: https://github.com/qashqao/linux-xsuggest
    [CVE-2009-1185]
  19. GitHub: https://github.com/qiantu88/Linux--exp
    [CVE-2009-1185]
  20. GitHub: https://github.com/rakjong/LinuxElevation
    [CVE-2009-1185]
  21. GitHub: https://github.com/ram4u/Linux_Exploit_Suggester
    [CVE-2009-1185]
  22. GitHub: https://github.com/spencerdodd/kernelpop
    [CVE-2009-1185]
  23. GitHub: https://github.com/tangsilian/android-vuln
    [CVE-2009-1185]
  24. Immunity Canvas: CANVAS

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:L/AC:L/Au:N/C:C/I:C/A:C/E:H/RL:OF/RC:C
CVSS Base Score:7.2 (High)
Impact Subscore:10.0
Exploitability Subscore:3.9
CVSS Temporal Score:6.3 (Medium)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:6.3 (Medium)

Go back to menu.

Plugin Source


This is the redhat-RHSA-2009-0427.nasl nessus plugin source code. This script is Copyright (C) 2009-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 Red Hat Security Advisory RHSA-2009:0427. The text 
# itself is copyright (C) Red Hat, Inc.
#

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

if (description)
{
  script_id(36177);
  script_version("1.31");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/14");

  script_cve_id("CVE-2009-1185");
  script_bugtraq_id(34536);
  script_xref(name:"RHSA", value:"2009:0427");

  script_name(english:"RHEL 5 : udev (RHSA-2009:0427)");
  script_summary(english:"Checks the rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Red Hat host is missing one or more security updates."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Updated udev packages that fix one security issue are now available
for Red Hat Enterprise Linux 5.

This update has been rated as having important security impact by the
Red Hat Security Response Team.

udev provides a user-space API and implements a dynamic device
directory, providing only the devices present on the system. udev
replaces devfs in order to provide greater hot plug functionality.
Netlink is a datagram oriented service, used to transfer information
between kernel modules and user-space processes.

It was discovered that udev did not properly check the origin of
Netlink messages. A local attacker could use this flaw to gain root
privileges via a crafted Netlink message sent to udev, causing it to
create a world-writable block device file for an existing system block
device (for example, the root file system). (CVE-2009-1185)

Red Hat would like to thank Sebastian Krahmer of the SUSE Security
Team for responsibly reporting this flaw.

Users of udev are advised to upgrade to these updated packages, which
contain a backported patch to correct this issue. After installing the
update, the udevd daemon will be restarted automatically."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/security/cve/cve-2009-1185"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/errata/RHSA-2009:0427"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"Update the affected libvolume_id, libvolume_id-devel and / or udev
packages."
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:H/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:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Linux udev Netlink Local Privilege Escalation');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'CANVAS');
  script_cwe_id(20);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:libvolume_id");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:libvolume_id-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:udev");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5.3");

  script_set_attribute(attribute:"vuln_publication_date", value:"2009/04/17");
  script_set_attribute(attribute:"patch_publication_date", value:"2009/04/16");
  script_set_attribute(attribute:"plugin_publication_date", value:"2009/04/17");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");

  exit(0);
}


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

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
os_ver = os_ver[1];
if (! preg(pattern:"^5([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 5.x", "Red Hat " + os_ver);

if (!get_kb_item("Host/RedHat/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$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);

yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
if (!empty_or_null(yum_updateinfo)) 
{
  rhsa = "RHSA-2009:0427";
  yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
  if (!empty_or_null(yum_report))
  {
    security_report_v4(
      port       : 0,
      severity   : SECURITY_HOLE,
      extra      : yum_report 
    );
    exit(0);
  }
  else
  {
    audit_message = "affected by Red Hat security advisory " + rhsa;
    audit(AUDIT_OS_NOT, audit_message);
  }
}
else
{
  flag = 0;
  if (rpm_check(release:"RHEL5", reference:"libvolume_id-095-14.20.el5_3")) flag++;

  if (rpm_check(release:"RHEL5", reference:"libvolume_id-devel-095-14.20.el5_3")) flag++;

  if (rpm_check(release:"RHEL5", cpu:"i386", reference:"udev-095-14.20.el5_3")) flag++;

  if (rpm_check(release:"RHEL5", cpu:"s390x", reference:"udev-095-14.20.el5_3")) flag++;

  if (rpm_check(release:"RHEL5", cpu:"x86_64", reference:"udev-095-14.20.el5_3")) flag++;


  if (flag)
  {
    security_report_v4(
      port       : 0,
      severity   : SECURITY_HOLE,
      extra      : rpm_report_get() + redhat_report_package_caveat()
    );
    exit(0);
  }
  else
  {
    tested = pkg_tests_get();
    if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
    else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libvolume_id / libvolume_id-devel / udev");
  }
}

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

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/redhat-RHSA-2009-0427.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\redhat-RHSA-2009-0427.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/redhat-RHSA-2009-0427.nasl

Go back to menu.

How to Run


Here is how to run the RHEL 5 : udev (RHSA-2009:0427) 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 Red Hat Local Security Checks plugin family.
  6. On the right side table select RHEL 5 : udev (RHSA-2009:0427) plugin ID 36177.
  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 redhat-RHSA-2009-0427.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a redhat-RHSA-2009-0427.nasl -t <IP/HOST>

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

/opt/nessus/bin/nasl -T - redhat-RHSA-2009-0427.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 redhat-RHSA-2009-0427.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: RHSA | Red Hat Security Advisory: CWE | Common Weakness Enumeration:
  • CWE-20 (Weakness) Improper Input Validation
See also: Similar and related Nessus plugins:
  • 43742 - CentOS 5 : udev (CESA-2009:0427)
  • 36172 - Debian DSA-1772-1 : udev - several vulnerabilities
  • 36703 - Fedora 10 : udev-127-5.fc10 (2009-3711)
  • 36175 - Fedora 9 : udev-124-4.fc9 (2009-3712)
  • 36197 - GLSA-200904-18 : udev: Multiple vulnerabilities
  • 38658 - Mandriva Linux Security Advisory : udev (MDVSA-2009:103-1)
  • 67842 - Oracle Linux 5 : udev (ELSA-2009-0427)
  • 79454 - OracleVM 2.1 : udev (OVMSA-2009-0006)
  • 60570 - Scientific Linux Security Update : udev on SL5.x i386/x86_64
  • 36186 - Slackware 10.2 / 11.0 / 12.0 / 12.1 / 12.2 / current : udev (SSA:2009-111-01)
  • 40050 - openSUSE Security Update : libudev-devel (libudev-devel-768)
  • 40271 - openSUSE Security Update : libudev-devel (libudev-devel-768)
  • 41432 - SuSE 11 Security Update : udev (SAT Patch Number 766)
  • 36182 - openSUSE 10 Security Update : libudev-devel (libudev-devel-6158)
  • 41593 - SuSE 10 Security Update : udev (ZYPP Patch Number 6153)
  • 41594 - SuSE 10 Security Update : udev (ZYPP Patch Number 6203)
  • 36530 - Ubuntu 6.06 LTS / 7.10 / 8.04 LTS / 8.10 : udev vulnerabilities (USN-758-1)
  • 52011 - VMSA-2009-0009 : ESX Service Console updates for udev, sudo, and curl
  • 89115 - VMware ESX Multiple Vulnerabilities (VMSA-2009-0009) (remote check)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file redhat-RHSA-2009-0427.nasl version 1.31. For more plugins, visit the Nessus Plugin Library.

Go back to menu.