
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: openbsd@sikurezza.org Soggetto: 2.6-stable ipfilter patch.. Mittente: Igor Falcomata' Data: 17 May 2000 16:04:20 -0000
allego una patch per /usr/src/sys/inet/fil.c (IP Filter) distribuito con la 2.6-stable, come da un bug evidenziato da Darren sulla ml di ipfilter (Fix bug in dealing with "hlen == 1 and opt > 1" - Itojun) e che potrebbe implicare una vulnerabilita' nel trattare quei pacchetti... Il messaggio originale e' recuperabile presso: http://www.false.net/ipfilter/2000_05/0091.html chi usa la 2.7-current si aggiorni sul cvs, le ultime release *quello dove e' incorportato IP Filter 3.3.14 sono ok bye Koba ps (ovviamente) cd /usr/src/sys/netinet patch -p0 < /dir/dove/sta/fil.c.patch e poi ricompilare il kernel, per essere sicuri meglio cancellare la directory */compile/NOME e rifare config NOME da */conf (ps: se NON usate ipfilter, non serve a un tubo questa patch) -- Igor Falcomata' igor@infosec.it koba@sikurezza.org -- Infosec srl - www.infosec.it Network Security & Data Defense -- free advertising: www.openbsd.org - Multiplatform Ultra-secure OS
--- fil.c.orig Wed May 17 19:00:51 2000
+++ fil.c Wed May 17 19:00:51 2000
@@ -275,12 +275,19 @@
}
- for (s = (u_char *)(ip + 1), hlen -= sizeof(*ip); hlen; ) {
- if (!(opt = *s))
- break;
- ol = (opt == IPOPT_NOP) ? 1 : (int)*(s+1);
- if (opt > 1 && (ol < 2 || ol > hlen))
+ for (s = (u_char *)(ip + 1), hlen -= (int)sizeof(*ip); hlen > 0; ) {
+ opt = *s;
+ if (opt == '\0')
break;
+ else if (opt == IPOPT_NOP)
+ ol = 1;
+ else {
+ if (hlen < 2)
+ break;
+ ol = (int)*(s + 1);
+ if (ol < 2 || ol > hlen)
+ break;
+ }
for (i = 9, mv = 4; mv >= 0; ) {
op = ipopts + i;
if (opt == (u_char)op->ol_val) {
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005