[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bugtraq
Subject:    Re: Safari HTTPS Overflow
From:       David Riley <oscar () the-rileys ! net>
Date:       2005-04-29 2:19:26
Message-ID: 6e23d876aab050f1ef6059d2d6342bc3 () the-rileys ! net
[Download RAW message or body]

I don't think this is an overflow.  According to gdb, the spin lock 
from CFSocketEnableCallBacks is crashing.  Backtracing to the call of 
CFSocketEnableCallBacks, I see that the two parameters (a CFSocket 
pointer and a set of binary flags, respectively) are:

r3             0x0      0
r4             0x9      9

Thus CFSocketEnableCallBacks is being passed a NULL pointer (and, for 
what it's worth, the flags are kCFSocketReadCallBack and 
kCFSocketWriteCallBack).  Why it crashes in the spinlock, I'm not sure, 
but I imagine it might have to do with gdb not behaving nicely with 
threads.

In any case, since I don't see any registers getting overwritten with 
either 0x41 or 0x61 (since Safari converts it to lowercase), I don't 
really see an overflow.  It's a crash which you might want to report to 
Apple, but it seems like it's probably just a case of dereferencing a 
NULL pointer.

I think what's happening is that some handler somewhere for the URL is 
seeing an overly large buffer and rejects it with a NULL pointer 
somewhere for the socket which isn't checked for appropriately.

Thanks,
	David

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic