Date: Wed, 25 Aug 2004 04:53:36 -0700
From: Vafa Izadinia <vafa@hush.ai.>
To: [email protected]Subject: Vulnerability: OpenBSD 3.5 Kernel Panic.
Cc:
Hi, I have posted this vulnerability note to CERT and gotten no
response. It is remotely exploitable, but since it requires commands
to be executed as root on the gateway machine, it is unlikely to cause
any unplanned disruption.
OpenBSD was contacted, and they provided a patch within 12 hours.
-=-=-=-
Description
-=-=-=-
An OpenBSD 3.5 machine, configured as a gateway (2 NICs --Net A,
and Net B), once bridging has been activated, and the link2 option
given (for IPSec processing), is vulnerable to a single ICMP echo
request sent from a machine on interface A's network sent to a machine
on interface B's network, causing it to crash. No core file is
generated. If the DDB_PANIC option is set, the machine reboots upon
receipt of the ICMP echo request.
-=-=-=-
Commands (assuming fxp0 and fxp1 are the two interfaces):
# ifconfig bridge0 create
# brconfig bridge0 add fxp0 add fxp1 up
# brconfig bridge0 link2
the machine is now vulnerable to a single ping from a machine on NetA
destined to a machine in NetB.
The problem was observed on a test network, and reproduced on a VMWare
network. Screen-shots of the crash on the VMWare setup are available.
OpenBSD's patch follows.
'='='=' Begin Patch ='='='= Remove this line '='='='
Index: sys/net/if_bridge.c ===================================================================
RCS file: /cvs/src/sys/net/if_bridge.c,v
retrieving revision 1.136
diff -u -r1.136 if_bridge.c
--- sys/net/if_bridge.c 21 Jun 2004 23:50:36 -0000 1.136+ sys/net/if_bridge.c 18 Aug 2004 09:29:04 -0000
@@ -2275,9 +2275,9 @@
splx(s);
return (1);
} else {
+ splx(s);
skiplookup:
/* XXX do an input policy lookup */
- splx(s);
return (0);
}
} else { /* Outgoing from the bridge. */
'='='=' End Patch ='='='= Remove this line '='='='
cheers,
Vafa Izadinia.