[Sun] Schwachstelle im Cassini Gigabit-Ethernet Treiber - Sun Alert ID 257008
19.06.2009 11:02
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Liebe Kolleginnen und Kollegen,
soeben erreichte uns nachfolgendes Sun Security Advisory. Wir geben
diese Informationen unveraendert an Sie weiter.
Sun Bug ID 6803523 - Schwachstelle im Cassini Gigabit-Ethernet Treiber
bei der Verarbeitung von Jumbo-Frames
Im Solaris Cassini Gigabit-Ethernet Treiber (ce(7D)) werden Jumbo
Frames nicht korrekt verarbeitet, wenn die Pruefsummenverifikation in
der Hardware durchgefuehrt wird. Ein Angreifer kann diese
Schwachstelle ueber das Netzwerk dazu ausnutzen, eine Kernel-Panic
auszuloesen (Denial of Service), indem er entsprechend aufgebaute
Jumbo-Frames an das System sendet.
Die Existenz der Schwachstelle koennen Sie wie folgt erkennen:
Um festzustellen, ob Jumbo Frames und Hardware Checksumming fuer eine
Cassini Karte aktiviert sind, benutzen Sie fuer jede Cassini Karte die
folgenden Kommandos:
# ndd -set /dev/ce instance 0
# ndd -get /dev/ce accept_jumbo
Ein Rueckgabewert von 1 zeigt an, dasx die Verarbeitung von Jumbo
Frames aktiviert ist.
# echo "dohwcksum/X" | mdb -k dohwcksum: 1
Ein Rueckgabewert von 1 zeigt an, das Hardware Checksumming aktiviert
ist.
Falls die Schwachstelle ausgenutzt wurde, zeigt sich ein Stack-Trace
aehnlich dem folgenden:
panic[cpu3]/thread=2a10423dca0: BAD TRAP: type=31 rp=2a10423d360
addr=3002e530000 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()
Betroffen sind die folgenden Software Pakete und Plattformen:
Solaris 10
OpenSolaris
SPARC Plattform
* Solaris 10 ohne Patch 141414-01
* OpenSolaris basierend auf den Builds snv_01 bis snv_82, und snv_111
bis snv_117
x86 Plattform
* Solaris 10 ohne Patch 141415-01
* OpenSolaris basierend auf den Builds snv_01 bis snv_82, und snv_111
bis snv_117
Vom Hersteller werden ueberarbeitete Pakete zur Verfuegung gestellt.
Weiterhin existieren Workarounds:
Deaktivieren Sie Hardware Checksumming indem Sie die folgende Zeile in
/etc/system einfuegen und das System rebooten:
set ip:dohwcksum = 0
Hersteller Advisory:
http://sunsolve.sun.com/search/document.do?assetkey=1-66-257008-1
(c) der deutschen Zusammenfassung bei DFN-CERT Services GmbH; die
Verbreitung, auch auszugsweise, ist nur unter Hinweis auf den Urheber,
DFN-CERT Services GmbH, und nur zu nicht kommerziellen Zwecken
gestattet.
Mit freundlichen Gruessen,
Klaus Moeller, DFN-CERT
- --
Dipl. Inform. Klaus Moeller (Incident Response Team)
Phone: +49 40 808077-555, Fax: +49 40 808077-556
DFN-CERT Services GmbH, https://www.dfn-cert.de, Phone +49 40 808077-555
Sitz / Register: Hamburg, AG Hamburg, HRB 88805, Ust-IdNr.: DE 232129737
Sachsenstrase 5, 20097 Hamburg/Germany, CEO: Dr. Klaus-Peter Kossakowski
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
Related Categories
* Home>Content>Sun Alert Criteria Categories>Security
* Home>Content>Sun Alert Release Phase>Resolved
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 150
0 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.
Attachments
This solution has no attachment
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFKO1Qsk0kIxZMiiQ8RAg50AJ0UHQ8NaKU/Cm7a4Wl+yEG2xlaCGgCghfys
QrhGG80v5tMG1JMu6lg3Cps=
=YRhb
-----END PGP SIGNATURE-----
|