2016年3月1日(現地時間)、OpenSSL プロジェクトは脆弱性の愛称「DROWN」や「CacheBleed」を含む8件の脆弱性情報を公開し、これら影響を受けるものの修正を行った最新版をリリースしました。ここでは関連情報をまとめます。
脆弱性情報概要
OpenSSL Projectの公開情報
2016年3月1日公開のパッチで修正された脆弱性
CVE | Severity | Title | Fixed |
---|---|---|---|
CVE-2016-0800 | High | Cross-protocol attack on TLS using SSLv2 (DROWN) | 1.0.1s, 1.0.2g |
CVE-2016-0705 | Low | Double-free in DSA cod | 1.0.1s, 1.0.2g |
CVE-2016-0798 | Low | Memory leak in SRP database lookups | 1.0.1s, 1.0.2g |
CVE-2016-0797 | Low | BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption | 1.0.1s, 1.0.2g |
CVE-2016-0799 | Low | Fix memory issues in BIO_*printf functions | 1.0.1s, 1.0.2g |
CVE-2016-0702 | Low | Side channel attack on modular exponentiation(CacheBleed) | 1.0.1s, 1.0.2g |
CVE-2016-0703 | High | Divide-and-conquer session key recovery in SSLv2 | 1.0.2a, 1.0.1m, 1.0.0r, 0.9.8zf |
CVE-2016-0704 | Moderate | Bleichenbacher oracle in SSLv2 | 1.0.2a, 1.0.1m, 1.0.0r, 0.9.8zf |
- CVE-2016-0703/0704は2015年3月15日リリース版でCVE-2015-0293対応によるリファクタリングで修正されていた。
- 0.9.8系、1.0.0系は2015年12月31日でサポートが終了しており、もし影響を受ける場合も修正版はリリースされない。
CVE-2016-0800 DROWN Attackに関する情報
- DROWNの由来:Decrypting RSA with Obsolete and Weakened eNcryptionの頭文字をとったもの。
- CVSS(v2):7.1(Base)/ AV:N/AC:H/Au:N/C:C/I:C/A:N via CERT
- 脆弱性ロゴ:(CC0)あり
発見者による情報
攻撃前提条件
- SSLv2がサーバー側で利用可能な設定となっている。(あるいはSSLv2が利用可能なサーバーと同じ秘密鍵を使用している)
- 中間者攻撃が可能な環境に接続している。
CVE-2016-0800はOpenSSLに限定されず、SSLv2が有効な環境において影響を受ける可能性が有り、発見者の公開情報には次の製品が記載されている。
- Microsoft IIS (IIS 7 から既定設定でSSLv2は無効化されている)
- NSS (2012年リリースの3.13からSSLv2が無効化されている)
- Apache
- Postfix
- nginx
ベンダからの情報は次の通り。
攻撃による影響
- 秘匿された通信内容が盗聴される恐れ。
関連情報
- Vulnerability Note VU#583776 Network traffic encrypted using RSA-based SSL certificates over SSLv2 may be decrypted by the DROWN attack
- DROWN Abuses SSL v2 to Attack TLS – Qualys Blog
- JVNVU#90617353 SSLv2 の暗号通信を解読可能な脆弱性 (DROWN 攻撃) - JVN
- Exploit o' the day: DROWN - SANS Internet Storm Center
- TrendLabs Security Intelligence Blog » DROWN SSLv2 Vulnerability Rears Ugly Head, Puts One-Third of HTTPS Servers At Risk
OpenSSLの脆弱性影響範囲
DROWN
次のOpenSSLが影響を受ける。ただし、CVE-2016-0703/0704は2015年3月15日リリース版で影響を受けなくなっている。
- OpenSSL 1.0.1r、およびそれ以前
- OpenSSL 1.0.2f、およびそれ以前
CacheBleed
次のOpenSSLが影響を受ける。
- OpenSSL 1.0.1r、およびそれ以前
- OpenSSL 1.0.2f、およびそれ以前
発見者は0.9.7h以降の全てのバージョンが影響を受ける可能性を指摘している。
OpenSSL: Our attack code has been tested with OpenSSL 1.0.2f. We believe that all OpenSSL versions from 0.9.7h up to and including versions 1.0.1r and 1.0.2f are vulnerable.
OpenSSLのバージョン確認方法
次のコマンドを実行する。
openssl version
DROWNの影響調査
発見者のサイト上に確認ツールが設置されています。これは2016年2月時点で取得された情報に基づき結果が表示されます。
Alexa Top 10000の内、影響を受けるサイトも列挙されている。
LibreSSLへの影響
今回公開されたOpenSSLのバグに関して、LibreSSLは影響を受けないとアナウンスしている。
ただし、CacheBleedの公開情報にはLibreSSLも影響を受ける記述が存在する。
LibreSSL: We have verified that version 2.3.1 is vulnerable. We believe that all LibreSSL versions, up to and including 2.1.9, 2.2.5 and 2.3.1 are vulnerable.
対策
OpenSSLを最新版へ更新する。
- OpenSSL 1.0.1系 → OpenSSL 1.0.1s
- OpenSSL 1.0.2系 → OpenSSL 1.0.2g
回避策
CVE-2016-0800(DROWN)の回避策として、SSLv2の無効化が可能かを検討する。