The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


Vulnerability: OpenBSD 3.5 Kernel Panic.


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
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.


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру