Re: mod_proxy and HTTP 302 response

Brett Hutley <[email protected]>
Newsgroups gmane.comp.apache.mod-proxy
Message-ID <[email protected]>
Graham Leggett wrote:

> Brett Hutley wrote:
>
>> Kinda works like strdup() as far as I can see... (although I guess 
>> with a memory pool)...
>
>
>>    len = strlen(s) + 1;
>>    res = apr_palloc(a, len);
>>    memcpy(res, s, len);
>
>
> The apr_palloc() will either allocate enough memory for a (potentially 
> very large) string, or it will segfault (to my knowledge) and fail 
> safe. Thus the memcpy will only occur if a buffer is created 
> sufficiently large enough to hold the string, thus no overflow that I 
> can see.
>
> Again - can someone else check...?

No, the point I was trying to make was not of a potential overflow, but 
the ability to store whatever you want in
an area of memory - including machine code. If you had a *different* 
buffer overflow attack, but didn't have
enough of a buffer to store your exploit machine code, then you could 
potentially use this area of memory to
hold your exploit machine code as binary data and then indirect to it 
using your buffer overflow attack. For example,
lets say that you had created a server that send "HTTP/1.1 200 ..." 
where the dots are the machine code for a function that does a 
system("tftp ...") or whatever. The machine code is essentially 
strdup()ed, and you now know that if you can indirect through to that 
area of memory, ie (*request_rec->status_line)(); you can execute your 
exploit code. Of course this depends on you being able to make a buffer 
overflow attack on *another* function that gets the request_rec pointer. 
So it is very very unlikely that this is a real vulnerability.

Cheers, Brett
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.