Operating System:

[Solaris]

Published:

12 January 2009

Protect yourself against future threats.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                        ESB-2009.0006 -- [Solaris]
        A Security Vulnerability in the NFS Version 4 Client Within
                    Solaris May Lead to a System Panic
                              12 January 2009

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:              NFS Version 4
Publisher:            Sun Microsystems
Operating System:     Solaris
                      OpenSolaris
Impact:               Denial of Service
Access:               Existing Account
CVE Names:            CVE-2009-0069

Original Bulletin:    
  http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-66-248566-1

Revision History:     January 12 2009: Added CVE Reference
                      January  7 2009: Initial Release

- --------------------------BEGIN INCLUDED TEXT--------------------

   Solution Type: Sun Alert
   Solution  248566 :   A Security Vulnerability in the NFS Version 4
   Client Within Solaris May Lead to a System Panic          
   Bug ID: 6300710

   Product
   Solaris 10 Operating System
   OpenSolaris

   Date of Resolved Release: 05-Jan-2009

   SA Document Body
   A Security Vulnerability in the NFS Version 4 Client Within Solaris May 
   Lead to a System Panic

   1. Impact
   A security vulnerability in the NFS version 4 client within Solaris
   may allow a local unprivileged user to panic the system.  This is a
   type of Denial of Service (DoS).
   
   2. Contributing Factors
   This issue can occur in the following releases:
   SPARC Platform:
     * Solaris 10 without patch 139466-02
     * OpenSolaris based upon builds snv_01 through snv_101

   x86 Platform:
     * Solaris 10 without patch 139467-02
     * OpenSolaris based upon builds snv_01 through snv_101

   Notes:
   1. Solaris 8 and 9 are not impacted by this issue.
   2. OpenSolaris distributions may include additional bug fixes above
   and beyond the build from which it was derived. The base build can be
   derived as follows:
   $ uname -v
   snv_86

   3. Systems are only impacted by this vulnerability if they are using
   NFS version 4 (NFSv4) to access remote filesystems. To determine if a
   system is using NFSv4, the following nfsstat(1M) command can be used:
   $ nfsstat -m
   /mnt from kadumane:/space/data
   Flags:  vers=4,proto=tcp,sec=sys,hard,intr,link,symlink,acl,rsize=1048576, wsiz
   e=1048576,retrans=5,timeo=600
   Attr cache: acregmin=3,acregmax=60,acdirmin=30,acdirmax=60

   The "vers=4" value in the above Flags output indicates use of NFSv4.
   Note that systems not using NFSv4 mount points may do so in the
   future, and all systems should be secured against this threat.
   
   3. Symptoms
   Should the described issue occur, the system will panic with a stack
   trace similar to the following:
   vpanic(....)
   mutex_vector_enter+0x31c(....)
   fn_move+0x8c(3003a399e58, 3003a399e58, ...)
   nfs4rename_persistent_fh+0x4f8()
   nfs4rename+0x4ac()
   nfs4_rename+0x58()
   fop_rename+0x1c()
   vn_renameat+0x20c()
   rename+0xc()
   syscall_trap32+0xcc()

   Most of the panics due to this issue show this trace and 1st and 2nd
   argument to fn_move() will be the same.
   
   4. Workaround
   To work around this issue, use NFSv3 on the NFS client by setting
   NFS_CLIENT_VERSMAX to 3 in /etc/default/nfs, and remounting the
   existing NFSv4 filesystems.
   An example of the entry in /etc/default/nfs:
   NFS_CLIENT_VERSMAX=3

   To locate which NFSv4 mountpoints qualify for unmounting, the
   nfsstat(1M) command can be run, as in the following example:
   # nfsstat -m
   /mnt from testhost:/space/data
   Flags:  vers=4,proto=tcp,sec=sys,hard,intr,link,symlink,acl,rsize=1048576,
   wsize=1048576,retrans=5,timeo=600
   Attr cache: acregmin=3,acregmax=60,acdirmin=30,acdirmax=60

   The vers=4 value in the above output indicates a NFsv4 filesystem.
   To unmount the NFSv4 mountpoint, the following command can be used:
   # umount /mnt

   Note: If the umount command shown above does not succeed, the
   filesystem may be busy and a forced unmount may be necessary.  A list
   of processes using the filesystem can be determined with the fuser(1M)
   command:
   # fuser -c <mountpoint>

   These processes should be terminated prior to retrying the umount
   command.
   Alternatively, the mountpoint can be forcibly unmounted.  Note that
   this may result in application errors and/or potential data
   inconsistency, so this should be used with caution.
   To forcibly unmount the NFSv4 mountpoint:
   # umount -f <mountpoint>

   To remount the filesystem:
   #  mount -Fnfs testhost:/space/data /mnt

   To confirm that the filesystem has been properly remounted as a NFSv3
   filesystem, use nfsstat(1M) and confirm that vers=3:
   # nfsstat -m
   /mnt from testhost:/space/data
   Flags: vers=3,proto=tcp,sec=sys,hard,intr,link,symlink,
   acl,rsize=32768,wsize=32768,retrans=5,timeo=600
   Attr cache: acregmin=3,acregmax=60,acdirmin=30,acdirmax=60

   5. Resolution
   This issue is addressed in the following releases:
   SPARC Platform:
     * Solaris 10 with patch 139466-02 or later
     * OpenSolaris based on builds snv_102 or later

   x86 Platform:
     * Solaris 10 with patch 139467-02 or later
     * OpenSolaris based on builds snv_102 or later

   For more information on Security Sun Alerts, see Technical
   Instruction ID 213557.
   This Sun Alert notification is being provided to you on an "AS IS"
   basis. This Sun Alert notification may contain information provided by
   third parties. The issues described in this Sun Alert notification may
   or may not impact your system(s). Sun makes no representations,
   warranties, or guarantees as to the information contained herein. ANY
   AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
   WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
   NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. BY ACCESSING THIS DOCUMENT
   YOU ACKNOWLEDGE THAT SUN SHALL IN NO EVENT BE LIABLE FOR ANY DIRECT,
   INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES THAT ARISE
   OUT OF YOUR USE OR FAILURE TO USE THE INFORMATION CONTAINED HEREIN.
   This Sun Alert notification contains Sun proprietary and confidential
   information. It is being provided to you pursuant to the provisions of
   your agreement to purchase services from Sun, or, if you do not have
   such an agreement, the Sun.com Terms of Use. This Sun Alert
   notification may only be used for the purposes contemplated by these
   agreements.
   Copyright 2000-2008 Sun Microsystems, Inc., 4150 Network Circle, Santa
   Clara, CA 95054 U.S.A. All rights reserved

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        http://www.auscert.org.au/render.html?cid=1980

If you believe that your computer system has been compromised or attacked in 
any way, we encourage you to let us know by completing the secure National IT 
Incident Reporting Form at:

        http://www.auscert.org.au/render.html?it=3192

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================

-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQCVAwUBSWq2ryh9+71yA2DNAQI0MAP+JhD4U88o4FEcmto27xxu6al0kOPwXRHO
b/4iFCkUdKqzj4vgNzBwp+nQzZMxeZ7ulvkoPKcDLhm1YRtzXOcw+eYIevFk0XKX
hdxaArQ2m9e4RuiPqTpzfim0CEfRjw+56SpihRTGXNpYsPPfyUUbLOoxWsyHKLe2
y9yXVzmi7uE=
=VmAF
-----END PGP SIGNATURE-----