Nmap Security Scanner
*Intro
*Ref Guide
*Install Guide
*Download
*Changelog
*Book
*Docs
Security Lists
*Nmap Hackers
*Nmap Dev
*Bugtraq
*Full Disclosure
*Pen Test
*Basics
*More
Security Tools
*Pass crackers
*Sniffers
*Vuln Scanners
*Web scanners
*Wireless
*Exploitation
*Packet crafters
*More
Site News
Site Search:
Exploit World
Advertising
About/Contact
Credits
Sponsors:




bugtraq logo Bugtraq mailing list archives

Re: Linux Kernel sctp_setsockopt() Integer Overflow
From: Jirka Kosina <jikos () jikos cz>
Date: Sat, 29 May 2004 05:13:17 +0200 (CEST)

On Thu, 27 May 2004, Michael Tokarev wrote:

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.


  By Date           By Thread  

Current thread:
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]