What is a 'SSLv3 Vulnerable Server'?

POODLE (the 'Padding Oracle On Downgraded Legacy Encryption' attack) is the name for an OpenSSL bug. This bug impacts almost every system using any kind of encryption which is based on OpenSSL.

Why would this be bad?

The whole issue ultimately hinges on the site supporting SSLv3 and the attacker being able to downgrade the client to use SSLv3. These protocol downgrade attacks are old news and are still surfacing to cause problems. By simulating a failure during the negotiation process, an attacker can force a browser and a server to renegotiate using an older protocol, right back down to SSLv3. As the POODLE vulnerability is actually in the protocol itself, this isn't something that can be patched out like ShellShock and HeartBleed.

The attack, specifically against the SSLv3 protocol, allows an attacker to obtain the plaintext of certain parts of an SSL connection, such as the cookie. Similar to BEAST, but more practical to carry out. Every server that is not patched for this bug is vulnarable for such attacks.

Recommended action

The easiest and most robust solution to POODLE is to disable SSLv3 support on your server. This does bring with it a couple of caveats though. For web traffic, there are some legacy systems out there that won't be able to connect with anything other than SSLv3. For example, systems using IE6 and Windows XP installations without SP3, will no longer be able to communicate with any site that ditches SSLv3. According to figures released by CloudFlare, who have completely disabled SSLv3 across their entire customer estate, only a tiny fraction of their web traffic will be affected as 98.88% of Windows XP users connect with TLSv1.0 or better.

Tips how to resolve this matter

Nginx

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; Similar to the Apache config above, you will get TLSv1.0+ support and no SSL. You can check the config and restart. sudo nginx -t sudo service nginx restart

IIS

This one requires some registry tweaks and a server reboot but still isn’t all that bad. Microsoft have a support article with the required information, but all you need to do is modify/create a registry DWORD value. HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders \SCHANNEL\Protocols Inside protocols you will most likely have an SSL 2.0 key already, so create SSL 3.0 alongside it if needed. Under that create a Server key and inside there a DWORD value called Enabled with value 0. Once that’s done reboot the server for the changes to take effect.

Apache

To disable SSLv3 on your Apache server you can configure it using the following. SSLProtocol All -SSLv2 -SSLv3 This will give you support for TLSv1.0, TLSv1.1 and TLSv1.2, but explicitly removes support for SSLv2 and SSLv3. Check the config and then restart Apache. apachectl configtest sudo service apache2 restart

After patching all the service(s) and confirming the bug is nog longer present on your system its highly recommended to get a NEW SSL certificate (including key, csr, etc) as it might have been comprised. Most SSL suppliers will issue such a certificate for free

Getting more information

Disable SSLv3 - a community-powered step-by-step tutorial
SSLv3 / POODLE Test