Note: This is an archival copy of Security Sun Alert 241126 as previously published on http://sunsolve.sun.com.
Latest version of this security advisory is available from http://support.oracle.com as Sun Alert 1019559.1.
Article ID : 1019559.1
Article Type : Sun Alerts (SURE)
Last reviewed : 2008-12-14
Audience : PUBLIC
Copyright Notice: Copyright © 2010, Oracle Corporation and/or its affiliates.

A Security Vulnerability in IPv4 Forwarding may Allow a Remote User to Panic the System



Category
Security

Release Phase
Resolved

Bug Id
6478933

Product
Solaris 10 Operating System
OpenSolaris

Date of Resolved Release
15-Dec-2008

Solaris 10 kernel patches 120011-14 (SPARC) and 120012-14 (x86) introduced a security vulnerability in IPv4 forwarding:

1. Impact

Solaris 10 kernel patches 120011-14 (SPARC) and 120012-14 (x86) introduced a security vulnerability in IPv4 forwarding which may allow a remote 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 with patch 120011-14 and without patch 138888-01
  • OpenSolaris based upon builds snv_47 through snv_82
x86 Platform
  • Solaris 10 with patch 120012-14 and without patch 138889-01
  • OpenSolaris based upon builds snv_47 through snv_82
Note 1: Solaris 8 and 9 are not impacted by this issue.

Note 2:  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
Note 3: A system is only affected by this issue if it is configured to use IPv4, has a network route with a gateway of 127.0.0.1,  and the route does not have the blackhole flag set. To determine if a system is configured this way, the following command can be used:
    $ netstat -rnf inet
    Routing Table: IPv4
Destination           Gateway     Flags  Ref   Use  Interface
default              192.168.0.1    UG     1   2254
12.1.1.1             127.0.0.1      UH     1   454 lo0
13.0.0.0             127.0.0.1      U      1   112 lo0
192.168.0.0          192.168.0.5    U      1   1357 bge0
224.0.0.0            192.168.0.5    U      1   0 bge0
127.0.0.1            127.0.0.1      UH     3   744 lo0
In the above example, routes 12.1.1.1 and 13.0.0.0 may place the system at risk. Individual routes must then be checked using the "route get" command:
    $ route get 12.1.1.1 | grep "flags:"
flags: <UP,DONE,STATIC>
$ route get 13.0.0.0 | grep "flags:"
flags: <UP,DONE,STATIC,BLACKHOLE>
The route to 12.1.1.1 does not have the BLACKHOLE flag set, and may be affected by this issue.
The route to 13.0.0.0 has the BLACKHOLE flag set, and therefore this route is not affected.

Note 4: This issue affects systems regardless of whether IPv4 forwarding has been configured (either using the ipv4-forwarding option of routeadm(1M) or setting the ip_forwarding kernel tunable with ndd(1M)).

3. Symptoms

If the described issue occurs, the affected system will panic and may produce a crashdump with a panic string and a stack trace similar to the following:
    BAD TRAP: type=31 rp=2a100047250 addr=1d8 mmu_fsr=0 occurred in module
"ip" due to a NULL pointer dereference

ire_add+0xdc(2a1008193b0, 0, 0, 0, 1, 600008338c8)
ire_forward+0x524(20, 60000833890, 60000833980, 60000086388,
6000012d848, 30006c36000)
ip_fast_forward+0xd8(e0000000, d010101, 600002af428, 60000936ae0, 0, 1)
ip_input+0x5a0(600012826e0, 3000851e040, 0, 600002af428, 0, 0)
i_dls_link_rx+0x1f0(60000333d20, 3000851e040, 0, 60000936ae0,
2a100819710, 2a100819718)
mac_rx+0x50(60000331e08, 3000851e040, 60000936ae0, 12f8100, 0,
600002f83d0)
bge_receive+0x408(46, 3000818e000, 60000936ae0, 60000936ae0,
ffffffffffffffff, 2f5c)
bge_intr+0x188(3000818e000, 10000001f, 0, 2c00, 30008190de0, 0)
pci_intr_wrapper+0xb4(30004f8e668, 6000030df10, 0, 0, 0, 600002818c0)
intr_thread+0x170(b, 0, 0, 30005393778, 8, 1)
4. Workaround

To work around this issue, specify the "blackhole flag" when adding the route:
    # route add -blackhole 12.1.1.1 127.0.0.1
Note: This will cause the system to return an "ICMP Destination Unreachable" message in response to any packets destined for 12.1.1.1.

5. Resolution

This issue is addressed in the following releases:

SPARC Platform
  • Solaris 10 with patch 138888-01 or later
  • OpenSolaris based upon builds snv_83 or later
x86 Platform
  • Solaris 10 with patch 138889-01 or later
  • OpenSolaris based upon builds snv_83 or later
For more information on Security Sun Alerts, see 1009886.1.

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.


References

138888-01
138889-01





Attachments
This solution has no attachment