nginx 0.7.64 and CVE-2009-3555 TLS / SSL renegotiation

Maxim Dounin mdounin at mdounin.ru
Sat Feb 13 04:10:18 MSK 2010


Hello!

On Fri, Feb 12, 2010 at 05:28:15PM -0600, JW wrote:

> I'm running nginx/0.7.64, compiled from source.
> 
> The top of the changelog that came with the source says:
> 
> Changes with nginx 0.7.64                                        16 Nov 2009
> 
>     *) Security: now SSL/TLS renegotiation is disabled.
>        Thanks to Maxim Dounin.
> 
> 
> Also http://nginx.org/en/security_advisories.html says:
> 
> The renegotiation vulnerability in SSL protocol
> Severity: major
> VU#120541  CVE-2009-3555
> Not vulnerable: 0.8.23+, 0.7.64+
> 
> 
> I also checked against http://sysoev.ru/nginx/patch.cve-2009-3555.txt and the 
> source I have does seem to contain that patch.
> 
> 
> However, I've had a scanning vendor tell me I'm still vulnerable to the 
> problem:
> 
> " . . . service allows renegotiation of TLS / SSL connections."
> 
> and references CVE-2009-3555
> 
> 
> What can I do in order to make sure this is fixed please?

Test is simple: run

openssl s_client -connect <host>:443

and once connection is established press 'R' and hit enter to 
trigger renegotiation.

Without the patch renegotiation will happend and connection will 
stay alive.  And you will be able to issue normal http request after 
(something like "GET / HTTP/1.0").  With patch connection will be 
dropped.

Note well:

1. You need openssl <= 0.9.8k (unpatched one, not 'l'!) on 
client to test it, as in 0.9.8l renegotiation is completely broken 
by default and connection will just hang.

2. With openssl 0.9.8l on server connection will hang, too.  This 
means that you aren't vulnerable, but it's not easy to distinguish 
this case from the case with 0.9.8l on client (which just doesn't 
allow you to test).

3. First of all you should patch openssl, not nginx.  Once you'll 
patch openssl on your system all programs which use it will be 
safe, not just nginx.

Maxim Dounin



More information about the nginx mailing list