Briefing
- All flavors of SSLv2 appear to be affected - Windows, OpenSSL, BoringSSL, LibreSSL, etc.
- If SSLv2 was enabled, non-SSL (TLS) traffic recorded in the past can be decrypted - unless forward secrecy was used on that TLS traffic
- If SSLv2 was enabled on any system that share the same RSA key, traffic of otherwise completely unrelated systems can be decrypted
- Just disabling SSLv2 ciphers (only option on some legacy platforms)
is not sufficient for OpenSSL versions prior to 1.0.2f and 1.0.1r; see
CVE-2015-3197
- Key is not compromised.
- Remember that HTTPS on 443 is not the only affected platform - consider non-443 HTTPS, SMTP STARTTLS, etc.
- [WIP]
Summaries
Vulnerabilities
- DROWN attackers can decrypt sessions recorded in the past. - OpenSSL team
- SSLv2 vulnerability can be used to compromise TLS colocated on the same system or sharing configuration
Analysis
Remediation
- IIS: https://www.nartac.com/Products/IISCrypto
- Apache mod_ssl: SSLProtocol all -SSLv2 -SSLv3
- nginx: ssl_protocols TLSv1 TLSv1.1 TLSv1.2
- Postfix: see https://www.openssl.org/blog/blog/2016/03/01/an-openssl-users-guide-to-drown/
If running Apache, seriously consider turning on SSL logging in advance everywhere that you can. This will build up a history of which clients are negotiating which protocols and ciphers, to inform decision-making for the next fire.
SSLOptions +StdEnvVars
CustomLog /path/to/ssl.log "%t %h %{REMOTE_USER}x \"%{User-agent}i\" %{SSL_PROTOCOL}x %{SSL_CIPHER}x "
Enabling SSL protocol and cipher logging is also very useful for tracking how improvements in cipher order affect your customers over time.
Products
Affected
Not affected
Detection and testers
Exploitation
No public exploits yet known, as of 2016-03-02.
The DROWN attack is nuanced and non-trivial to implement, so we will likely not see immediate exploitation. - OpenSSL team, 2016-03-01
News and posts
Return to The Story So Far (list of notable security events)