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

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

                        ESB-2006.0595 -- [Solaris]
   On Solaris 10 libnsl(3LIB) or TLI/XTI API Routines May Cause Listener
        Programs for Databases or Other Network Aware Applications
                            to Stop Responding
                              21 August 2006

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

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

Product:              libnsl
                      TLI/XTI API
Publisher:            Sun Microsystems
Operating System:     Solaris 10
Impact:               Denial of Service
Access:               Remote/Unauthenticated

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

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

Sun(sm) Alert Notification
     * Sun Alert ID: 102576
     * Synopsis: On Solaris 10 libnsl(3LIB) or TLI/XTI API Routines May
       Cause Listener Programs for Databases or Other Network Aware
       Applications to Stop Responding
     * Category: Availability
     * Product: Solaris 10 Operating System
     * BugIDs: 6389163
     * Avoidance: Binary
     * State: Workaround
     * Date Released: 16-Aug-2006
     * Date Closed: 
     * Date Modified: 

1. Impact

   A race condition may cause listener programs for databases or other
   network aware applications to cease to respond if those listeners are
   coded using routines from libnsl(3LIB) or TLI/XTI APIs.

2. Contributing Factors

   This issue can occur in the following releases:

   SPARC Platform
     * Solaris 10 with patch 118833-04 or later

   x86 Platform
     * Solaris 10 with patch 118833-03 or later

   Note: Solaris 8 and 9 are not impacted by this issue.

3. Symptoms

   Listener processes cease to respond to new connection attempts and
   begin to consume excessive CPU cycles.

   Using the truss(1) command on the listener process will find it to be
   executing in a tight loop through pollsys() or poll().

   Because of the fact that the coding of listener processes varies
   considerably, it is difficult to provide a truly representative truss
   output.

   This however is one example:
342:    pollsys(0x0005DE48, 6, 0x00000000, 0x00000000)  = 1
342:    lwp_sigmask(SIG_SETMASK, 0x00002000, 0x00000000) = 0xFFBFFEFF
[0x0000FFFF]
342:    fstat(5, 0xFFBFF8C0)                            = 0
342:    ioctl(5, I_PEEK, 0xFFBFF99C)                    = 1
342:    lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF
[0x0000FFFF]
342:    pollsys(0x0005DE48, 6, 0x00000000, 0x00000000)  = 1
342:    lwp_sigmask(SIG_SETMASK, 0x00002000, 0x00000000) = 0xFFBFFEFF
[0x0000FFFF]
342:    fstat(5, 0xFFBFF8C0)                            = 0
342:    ioctl(5, I_PEEK, 0xFFBFF99C)                    = 1
342:    lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF
[0x0000FFFF]

   If the listener uses t_look(3NSL) it can be seen that a T_DATA message
   is present on the listener Stream, instead of the expected T_LISTEN
   messages, (T_DATA is defined as 0x4 in /usr/include/sys/tiuser.h)

   Truss of a listener which uses t_look() experiencing this issue would
   show something similar to this:
   libnsl:t_look() = 4

   This results when a data message intended for an accepting endpoint is
   misdirected during the accept() processing, to the listener endpoint. 

4. Relief/Workaround

   Binary relief is available through normal support channels for the
   following releases:

   SPARC Platform
     * Solaris 10

   x86 Platform
     * Solaris 10

   The following workaround should be used until the above can be
   implemented.

   Disable TCP fusion by adding the following line to the "/etc/system"
   file:
   set ip:do_tcp_fusion = 0x0

   Add a comment referencing this Sun Alert and undo the above change
   before applying binaries or final resolution. Reboot the system so
   changes to /etc/system can take effect.

5. Resolution

   A final resolution is pending completion.

   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-2006 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

iQCVAwUBROlYqih9+71yA2DNAQLGAwP/UqaTgGnr++Ajq8iVfMZVWA6nxyzea25t
po8fLNXqpm5tituoJOw65XYJKKrct+eire4T4slYMzBGxePcwOlSEzr6vv8eMrjI
VQOZJZwydHprjKoqaxw0336K9eUve28C+IZCL0e/nVESjoaGNUQybfRjCOarwESO
I/62DsldCRI=
=z4xM
-----END PGP SIGNATURE-----