
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: Ottobre 2004 ml@sikurezza.org Soggetto: Re: [ml] Integer overflow Mittente: twiz Data: Thu, 7 Oct 2004 15:10:31 +0200 (CEST)
On Thu, 7 Oct 2004, Yvette Agostini wrote:
> http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/dangers-c.html
Un esempio proposto non e' del tutto preciso :
char *buf;
int i, len;
read(fd, &len, sizeof(len));
/* OOPS! We forgot to check for < 0 */
if (len > 8000) { error("too large length"); return; }
buf = malloc(len);
read(fd, buf, len); /* len casted to unsigned and overflows */
Il prototipo di malloc e' :
void *malloc(size_t size);
quindi len viene gia' trattata come unsigned nell'allocazione (che, molto
probabilmente, fallira', ritornando NULL -> da qui il segfault nella
read successiva).
Sempre relativamente ai paper sugli integer overflow (oltre agli 'n'
esempi di exploit/vulnerabilita' su int che puoi cercare in giro) su
phrack60 e' uscito l'articolo di blexim - Basic Integer Overflow (o
qualcosa di molto simile, non ricordo :) ).
twiz
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005