<<< Date Index >>>     <<< Thread Index >>>

Re: OpenSSL SSL_get_shared_ciphers() off-by-one buffer overflow



> OpenSSL 0.9.7l and 0.9.8d fixed a buffer overflow found in
> the SSL_get_shared_ciphers() function reported by Tavis
> Ormandy and Will Drewry of the Google Security Team.

> Although this fix prevented the unlimited overflow of the
> buffer, it still allowed an off-by-one buffer overflow to
> happen, which could potentially still result in remote code
> execution.

Both these bugs of course exist, and have been fixed. However, it is unclear if 
they could actually be exploited in the real world.

In fact, in order to exploit that function you need:
1) an application which explicitly calls it (i.e. it's not used, as far
as I can tell, in the regular handshake)
2) you should pass the ciphers with the malformed names to BOTH client and 
server (always as far as I can tell), because cipher setting handshake occurs 
and it doesn't call the function, so if I'm correct on this, this means:
3) you should have an SSL-enabled application where you can run and/or supply 
with a configuration file both the client and the server, and which is suid or 
ran with higher privileges than yours for this to be exploitable.

Unless I spectacularly missed something which enables to jump through point 
2... which is quite possible, this looks like a very unlikely exploitation 
vector.

So - where am I wrong ? :)

Snagg