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

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

                  ESB-2009.0588 -- [Solaris][OpenSolaris]
            Solaris TCP/IP Networking Stack: Denial of Service
                               22 June 2009

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

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

Product:              Solaris 10 Operating System
                      OpenSolaris
Publisher:            Sun Microsystems
Operating System:     Solaris
                      OpenSolaris
Impact:               Denial of Service
Access:               Remote/Unauthenticated

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

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

Solution Type: Sun Alert
Solution  257008 :   Security Vulnerability with the Solaris TCP/IP
Networking Stack Involving the Cassini Gigabit-Ethernet Device Driver
and Jumbo Frames          
Bug ID: 6803523

Product

Solaris 10 Operating System
OpenSolaris

Date of Resolved Release: 18-Jun-2009

SA Document Body

A security vulnerability with the Solaris TCP/IP networking stack involving 
the Cassini Gigabit-Ethernet Device Driver (ce(7D)) and jumbo frames:

1. Impact

A security vulnerability with the Solaris TCP/IP networking stack
involving the Cassini Gigabit-Ethernet Device Driver (ce(7D)) and
jumbo frames may allow a remote user to panic the system. This is a
type of Denial of Service (DoS) condition.

2. Contributing Factors

This issue can occur in the following releases:
   SPARC Platform
     * Solaris 10 without patch 141414-01
     * OpenSolaris based upon builds snv_01 through snv_82, and snv_111
       through snv_117

   x86 Platform
     * Solaris 10 without patch 141415-01
     * OpenSolaris based upon builds snv_01 through snv_82, and snv_111
       through snv_117

Note 1: Solaris 8 and Solaris 9 are not impacted by this issue.
Note 2: A system is only vulnerable to this issue if it is using a
        GigaSwift Ethernet Adapter (CE) interface (ce(7D)) which has been
        configured to accept jumbo frames, and hardware checksumming is
        enabled.
        To determine if there are any active CE interfaces present on a
        system, run the following command:
    # /sbin/ifconfig -a | /bin/grep ^ce
    ce0: flags=1001000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,FIXEDMTU> mtu 
    1500 index 2
    ce1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 9194 index 3

        To determine if jumbo frames are in use on a CE interface, use the
        following ndd commands:
    # ndd -set /dev/ce instance 0
    # ndd -get /dev/ce accept_jumbo
    1

   The above two commands must be repeated for each CE interface present
   on the system (adjusting the instance number in the first command
   accordingly).
   The file "/kernel/drv/ce.conf" may also include the "accept_jumbo=1"
   directive, either globally or for a subset of interfaces, but the
   above ndd commands will give the current state of the running
   interfaces.
   To determine whether hardware checksumming is enabled, run the
   following command as root:
    # echo "dohwcksum/X" | mdb -k
    dohwcksum:
    dohwcksum:      1

   A value of "1" indicates that hardware checksumming is enabled
   (default value). A value of "0" indicates hardware checksumming is
   disabled.
Note 3: Some third party storage systems have been seen to generate
        jumbo ethernet packets which may trigger this issue and cause the
        Solaris system to panic.
Note 4: The use of the kernel memory debugging facility "kmem_flags"
        will greatly increase the likelihood of a panic. To determine if
        "kmem_flags" is set, run the following command as root:
    # echo "kmem_flags/X" | mdb -k
    kmem_flags:
    kmem_flags:     0

   A value of zero indicates kmem_flags is not set. Any other value
   indicates one or more of the kmem debugging facilities is active.
   Note 5: OpenSolaris distributions may include additional bug fixes
   above and beyond the build from which it was derived.  To determine
   the base build of OpenSolaris, the following command can be used:
    $ uname -v
    snv_86

3. Symptoms

If the described issue occurs, the system will panic with a BAD TRAP
type 31, and the stack trace will be similar to one of the following:
    panic[cpu3]/thread=2a10423dca0: BAD TRAP: 
    type=31 rp=2a10423d360 addr=3002e
    530000 mmu_fsr=0
    ip_ocsum_long+0xe4()
    bcksum()
    ip_tcp_input+0x448()
    ip_input+0xa68()
    ip_rput()
    putnext+0x218()
    ce_intr+0x764c()
    pci_intr_wrapper+0xb8()
    intr_thread+0x168()
    ktl0+0x48()
    ip_ocsum_long+0xe4()
    bcksum()
    ip_tcp_input+0x448()
    ip_input+0xa68()
    ip_rput()
    putnext+0x218()
    ce_drain_fifo+0x57e4()
    thread_start+0x4()

4. Workaround

There are two possible workarounds for this issue:
   1. Disable hardware checksumming by putting the following line in
   "/etc/system" and rebooting the system:
    set ip:dohwcksum = 0

   2. Prevent the network from sending jumbo frames to this host by
   disabling jumbo frames on the entire subnet.
Note: These workarounds may impact system performance.

5. Resolution

This issue is addressed in the following releases:
   SPARC Platform
     * Solaris 10 with patch 141414-01 or later
     * OpenSolaris based upon builds snv_118 or later

   x86 Platform
     * Solaris 10 with patch 141415-01 or later
     * OpenSolaris based upon builds snv_118 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-2009 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

iD8DBQFKPufWNVH5XJJInbgRAkgOAJ4hBkworERuWWFGp1EERgTsM/daZACaAtyD
tCksah53SPu5U2mcpScvugE=
=aNsl
-----END PGP SIGNATURE-----