|
BugTraq
Linux Kernel sctp_setsockopt() Integer Overflow May 11 2004 06:58PM Shaun Colley (shaunige yahoo co uk) (2 replies) Re: Linux Kernel sctp_setsockopt() Integer Overflow May 15 2004 06:24PM Michael Tokarev (mjt tls msk ru) (1 replies) Re: Linux Kernel sctp_setsockopt() Integer Overflow May 27 2004 07:47PM Michael Tokarev (mjt tls msk ru) (1 replies) Re: [Full-Disclosure] Linux Kernel sctp_setsockopt() Integer Overflow May 11 2004 10:05PM Tom Rini (trini kernel crashing org) |
|
Privacy Statement |
> I was wrong reading the above code, simple as that.
> Sure, kmalloc(0) will NOT return NULL as I claimed.
> if (size > csizep->cs_size)
> continue;
> Here, when size == 0 (and csizep->cs_size is always > 0),
> the condition is always false, so the next instruction
> will be executed, which is:
> return __kmem_cache_alloc(flags & GFP_DMA ?
> csizep->cs_dmacachep : csizep->cs_cachep, flags);
> which will allocate either 32 or 64 bytes of memory (depending
> on the arch) and return it to the caller.
> So there IS a bug, exactly as described in the original advisory.
> I wonder why noone replied... ;)
Because this all is debate about nothing, as the original advisory was
fake, because you simply can't pass negative optlen to setsockopt()
syscall, so there is nothing to be exploited.
asmlinkage long sys_setsockopt(int fd, int level, int optname, char __user
*optval,
{
int err;
struct socket *sock;
if (optlen < 0)
return -EINVAL;
...
--
JiKos.
[ reply ]