CERT
 
US-CERT Vulnerability Notes Database CERT Statistics Vulnerability Disclosure Policy CERT Knowledgebase Courses Link to US-CERT cylab
 

CERT® Advisory CA-1994-15 NFS Vulnerabilities

Original issue date: December 19, 1994
Last revised: Septmeber 23, 1997
Updated copyright statement

A complete revision history is at the end of this file.

The CERT Coordination Center is experiencing an increase in reports of root compromises caused by intruders using tools to exploit a number of NFS (Network File System) vulnerabilities.

CERT recommends limiting your exposure to these attacks by implementing the security measures described in Section III below.

We will update this advisory as we receive additional information. Please check advisory files regularly for updates that relate to your site.


I. Description

There are tools being used by intruders to exploit a number of NFS vulnerabilities. These tools are widely available and widely distributed.

II. Impact

The impact varies depending on which vulnerabilities are present. In the worst case, intruders gain unauthorized root access from a remote host.

III. Security Measures

A. Filter packets at your firewall/router.

Filter TCP port 111, UDP port 111 (portmapper), TCP port 2049, and UDP port 2049 (nfsd).

Note: Some sites may run NFS on a port other than 2049. To determine which port is running NFS, enter the following command on the machine in question:

         rpcinfo -p
If NFS is on a different port, then that is the port number to block at the firewall.

Consult your vendor or your firewall documentation for detailed instructions on how to configure the ports.

This measure will prevent access to NFS at your site from outside your firewall, but it will not protect you from attacks launched from your local network, behind your firewall.

B. Use a portmapper that disallows proxy access.

Be sure that you do this for every host that runs a portmapper. For Solaris, 2.x, use a version of rpcbind that disallows proxy access.

A portmapper that disallows proxy access protects all hosts with the modified portmapper from attacks that originate either inside or outside your firewall. Because this security measure addresses only the portmapper vulnerability, we recommend combining it with measure A above. Wietse Venema has developed a portmapper that disallows proxy access. It is available by anonymous FTP from

             ftp.win.tue.nl: /pub/security/portmap_3.shar.Z
             ftp.cert.org:   /pub/tools/nfs_tools/portmap_3.shar.Z
             MD5 checksum:   f6a3ad98772e7a402ddcdac277adc4a6
For Solaris systems, Venema has developed a version of rpcbind that does not allow proxy access. Solaris users should install this program, not the portmapper. Rpcbind is available by anonymous FTP from the same sites as the portmapper:
            ftp.win.tue.nl:/pub/security/rpcbind_1.1.tar.Z
            ftp.cert.org:  /pub/tools/nfs_tools/rpcbind_1.1.tar.Z
            MD5 checksum:  58437adcbea0a55e37d3a3211f72c08b

C. Check the configuration of the /etc/exports files on your hosts.

In particular:
  1. Do *not* self-reference an NFS server in its own exports file.
  2. Do not allow the exports file to contain a "localhost" entry.

  3. Export file systems only to hosts that require them.

  4. Export only to fully qualified hostnames.

  5. Ensure that export lists do not exceed 256 characters.
    If you have aliases, the list should not exceed 256 characters *after* the aliases have been expanded.
    (See CA-94.02.REVISED.SunOS.rpc.mountd.vulnerability)

  6. Use the showmount(8) utility to check that exports are correct.

  7. Wherever possible, mount file systems to be exported read only and export file systems read only.

D. Ensure that your systems are current with patches and workarounds available from your vendor and identified in CERT advisories.

The following advisories address problems related to NFS:

CA-91.21.SunOS.NFS.Jumbo.and.fsirand
CA-92.12.REVISED.SunOS.rpc.mountd.vulnerability
CA-93.15.SunOS.and.Solaris.vulnerabilities
CA-94.02.REVISED.SunOS.rpc.mountd.vulnerability

Vendors may have additional patches not covered by a CERT advisory, so be sure to contact your vendor for further information.


The CERT Coordination Center thanks Steve Bellovin, Casper Dik, Leendert van Doorn, and Wietse Venema for their support in responding to this problem.



This document is available from: http://www.cert.org/advisories/CA-1994-15.html

CERT/CC Contact Information

Email: cert@cert.org
Phone: +1 412-268-7090 (24-hour hotline)
Fax: +1 412-268-6989
Postal address:
CERT Coordination Center
Software Engineering Institute
Carnegie Mellon University
Pittsburgh PA 15213-3890
U.S.A.

CERT/CC personnel answer the hotline 08:00-17:00 EST(GMT-5) / EDT(GMT-4) Monday through Friday; they are on call for emergencies during other hours, on U.S. holidays, and on weekends.

Using encryption

We strongly urge you to encrypt sensitive information sent by email. Our public PGP key is available from

If you prefer to use DES, please call the CERT hotline for more information.

Getting security information

CERT publications and other security information are available from our web site

* "CERT" and "CERT Coordination Center" are registered in the U.S. Patent and Trademark Office.


NO WARRANTY
Any material furnished by Carnegie Mellon University and the Software Engineering Institute is furnished on an "as is" basis. Carnegie Mellon University makes no warranties of any kind, either expressed or implied as to any matter including, but not limited to, warranty of fitness for a particular purpose or merchantability, exclusivity or results obtained from use of the material. Carnegie Mellon University does not make any warranty of any kind with respect to freedom from patent, trademark, or copyright infringement.


Conditions for use, disclaimers, and sponsorship information

Copyright 1994, 1995, 1996 Carnegie Mellon University.


Revision History
Sep. 23, 1997  Updated copyright statement
Aug. 30, 1996  Information previously in the README was inserted
               into the advisory.
Feb. 02, 1995  Sec. III - Added a note about checking port numbers.