Security Vulnerability in IPv6 Implementation (ip6(7p)) Related to the Handling of IPsec Packets may Lead to a System Panic, Resulting in a Denial of Service (DoS)



Category :Security
Release Phase :Resolved
Product :Solaris 10 Operating System  
Bug Id :6553350  
Date of Resolved Release :14-JUN-2007 


Impact

An unprivileged local or remote user may be able to panic a Solaris 10 system which is configured to use IPv6 (ip6(7p)) but is not configured to use the IPsec stack (ipsec(7P)), therefore causing a Denial of Service to the system as a whole.


Contributing Factors

This issue can occur in the following releases:

SPARC Platform

x86 Platform

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

Note 2: This issue only affects systems which have IPv6 interfaces but which are not configured to use the IPsec stack.

The following command can be run to determine and list all IPv6 interfaces configured on the host:

    $ ifconfig -a6

Solaris 10 does not have a default IPv6 setting since administrators are required to enable or disable IPv6 interfaces at install time.

The following command can be used to determine if the IPsec stack has been loaded on a system:

    $ modinfo | grep ipsec

 


Symptoms

If the described issue occurs, the system will panic with a stack trace similar to the following:

    ip_rput_data_v6+0x28cc(600106ee2a0, 600132c98a8, 60013279140, 428, 600132c98a8, 0)
    ip_rput_v6+0x64c(600106ee2a0, 60013279180, 0, 132a84bc, 600132c98a8, 300000d1d80)
    putnext+0x208(600106ee490, 600106ee2a0, 60013279180, 100, 1814c00, 0)
    dld_str_rx_fastpath+0x90(6001102ddc8, 600132a8094, 60013279180, 0, 0, 0)
    i_dls_link_rx+0x2d0(600132cde38, 0, 60013279180, 131273c, 0, 86dd000)
    mac_rx+0x44(0, 0, 60013279180, 1314c48, 60010598120, 600132cbf10)
    e1000g_intr+0xb0(80, 6001138c000, 6001138c230, 60013279180, 6001138c238, b)
    pci_intr_wrapper+0xac(600107aa370, 300003dd8e8, 7bafa2ac, 6001138c000, 
    60011006560, 0)
    intr_thread+0x168(183f8a0, 1055b40, 1813800, 180c000, 3852e9, 60010615f80)
    idle+0x38(181281c, 1, 180c000, 1837fc0, 1, 1812800)
    thread_start+4(0, 0, 0, 0, 0, 0)

 


Workaround

Until patches can be applied, sites may wish to workaround this issue by loading the IPsec stack. This can be done by the root user via the following commands:

    # touch /etc/inet/ipsecinit.conf
    # ipsecconf -qa  /etc/inet/ipsecinit.conf

Note 1: This does NOT enable encryption using IPsec, but it works around the issue by simply having the IPsec functionality loaded onto the TCP/IP stack.

Note 2: The workaround is persistent across reboot.


Resolution

This issue is addressed in the following releases:

SPARC Platform:

x86 Platform:






Attachments
This solution has no attachment

 
 
Login Required

You must login and have a valid contract to access Sun's Premium content which includes:

  • Sun Alerts
  • Bugs
  • Patches
  • Solutions
  • White Papers
  • Documentation
  • Support Knowledge

Login Required

You must login and have a valid contract to access Sun's contracted features

Access Legend:

(Login to access)   Sun Contracted Content
(Login to access)   Sun Contracted Feature

Please make use of SunSolve Feedback application by selecting the floating [+] to provide feedback about this specific document.

Search

Article Details
Article ID : 200060
Article Type : Sun Alert
Last reviewed : 2007-06-14
Audience : PUBLIC
Keywords :
Provide feedback  (help)
Page Tools
»  Print This Page
»  Email This Article
»  Bookmark This Article
 
Contact About Sun News & Events Employment Site Map Privacy Terms of Use Trademarks Copyright Sun Microsystems, Inc. | SunSolve Version 7.4.0 #1