現在位置: ホーム / セキュリティ ブログ / OpenSSLに複数の脆弱性 ( CVE-2016-6304 , CVE-2016-6305 , SWEET32 等)

OpenSSLに複数の脆弱性 ( CVE-2016-6304 , CVE-2016-6305 , SWEET32 等)

OpenSSLに複数の脆弱性 ( CVE-2016-6304 , CVE-2016-6305 , SWEET32 等)と各ディストリビューションの対応について記載します。 2016/09/26に追記された情報も含みます。 (2016/09/29更新:主要なディストリビューションの修正パッケージがほぼ出揃いました)

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面です。

9月22日にOpenSSLの複数の脆弱性(CVE-2016-6304, CVE-2016-6305など) についての情報と、更新版がリリースされました。Highのものや、Lowのものでも8月に話題になったSWEET32などもありますので、今回は最新版で修正された脆弱性と、各ディストリビューションの対応について簡単にまとめてみます。

 


Priority

High(CVE-2016-6304),Moderate(CVE-2016-6305), Low(Other)

追記:Critical(CVE-2016-6309), Moderate(CVE-2016-7052)

修正方法 (2016/09/26版も反映)

OpenSSLのバージョンを1.1.0b / 1.0.2j / 1.0.1u にあげてください。また各ディストリビューションの情報を確認してください。

影響するバージョン

OpenSSLバージョンCVE-2016-6304CVE-2016-6305CVE-2016-2183CVE-2016-6303CVE-2016-6302CVE-2016-2182CVE-2016-2180CVE-2016-2177CVE-2016-2178CVE-2016-2179CVE-2016-2181CVE-2016-6306CVE-2016-6307CVE-2016-6308
1.1.0 1.1.0以前 1.1.0以前 影響なし 影響なし 影響なし 影響なし 影響なし 影響なし 影響なし 影響なし 影響なし 影響なし 1.1.0以前 1.1.0以前
1.0.2 1.0.2h以前 影響なし 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 1.0.2h以前 影響なし 影響なし
1.0.1 1.0.1h-1.0.1t 影響なし 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 1.0.1t以前 影響なし 影響なし

2016/09/22の修正でエンバグしてしまった様です。

  • CVE-2016-6307の1.1.0aでの修正に問題が有り、1.1.0bで修正されています(CVE-2016-6309)

  • 1.0.2iで行われた修正の一部に問題が有り、1.0.2jで修正されています(CVE-2016-7052)

CVE概要(詳細はCVEのサイトをご確認ください)

  • CVE-2016-6304
    • Online Certificate Status Protocol(OCSP) ステータスリクエスト拡張による無制限のメモリ増大

    • 重要度 - 高

    • OCSPは、X.509公開鍵証明書の失効状態を取得するための通信プロトコルです。悪意のあるクライアントが極端に大きいOCSPステータスリクエスト拡張を送ることが出来ます。クライアントが再ネゴシエーション要求を続けていると、大きいOCSPステータスリクエストをそのたびに送ることになり、サーバ上で無制限のメモリ増大が発生することになります。これにより、メモリを使い果たしてDoS攻撃を誘発することが可能になります。デフォルトConfigureのサーバでは、例えOCSPをサポートしていなくても本脆弱性の対象になります。ビルド時に"no-ocsp"オプションを用いてビルドしたものに限り、今回の脆弱性は対象外になります。また、1.0.1g以前のOpenSSLのバージョンは、アプリケーションで明白にOCSPスタップリングサポートを有効にしていない限りは、本脆弱性の対象外になります。

  • CVE-2016-6305
    • SSL_peek()が空のレコード時にハングする

    • 重要度 - Moderate

    • OpenSSL 1.1.0のSSL/TLSでは、SSL_peek()を呼び出す際に、peerが空のレコードを送っている場合にはハングします。これにより、悪意のあるpeerがDoS攻撃を仕掛けることが可能になります。

  • CVE-2016-2183
    • Sweet32脆弱性

    • 重要度 - Low

    • SWEET32(https://sweet32.info)にもありますが、64ビットブロック暗号への誕生日攻撃が実用になったことがわかりました。これにより、3DES を共通鍵暗号として使用し、すべてのバージョンの SSL/TLS プロトコルをサポートする暗号スイートが影響を受けます。これに関しての詳しい情報は、AKAMAIのブログや、Red Hat Customer Portalなどに詳しく記載されています。OpenSSL 1.1.0では、リリース時からデフォルトでこれらの暗号スイートを無効にしているため、影響を受けません。

  • CVE-2016-6303
    • MDC2_Update()内のメモリ境界外への書き込み

    • 重要度 - 低

    • MDC2を用いたEVP_DigestUpdate()関数の呼び出しなどで、MDC2_Update()にオーバーフローを引き起こせる可能性があることがわかりました。攻撃者がEVP_EncryptUpdate()を呼び出した後に充分大きな入力データを与えた場合に、長さのチェックでオーバーフローを発生させることができます。

  • CVE-2016-6302
    • 悪意のあるSHA512チケットを用いたDoS

    • 重要度 - 低

    • サーバがTLSセッションのチケットHMACでSHA512を用いている時に、悪意のあるチケットがメモリ境界外の参照を行うことが可能となり、最終的にクラッシュを誘発させることが出来ます。しかし、TLSセッションチケットでSHA512を使うことは、カスタマイズが必要になるため、比較的レアケースなものです。

  • CVE-2016-2182
    • BN_bn2dec()内のメモリ境界外への書き込み

    • 重要度 - 低

    • BN_bn2dec()関数はBN_div_word()の返り値をチェックしていません。これにより、アプリケーションが非常に大きなBIGNUMを用いた時にメモリ境界外への書き込みを引き起こす可能性が有ります。TLSでは、パースされる前に極端に大きな証明書はリジェクトされるため、影響を受けません。

  • CVE-2016-2180
    • TS_OBJ_print_bio()内のメモリ境界外の参照

    • 重要度 - 低

    • TS_OBJ_print_bio()関数がOBJ_obj2txt()を間違って使用しています。これにより、大きなOIDが与えられた際に、メモリ境界外を参照してしまいます。

  • CVE-2016-2177
    • 未定義のポインタ参照

    • 重要度 - 低

    • ヒープバッファ境界チェックのポインタ演算の誤った使用により、DoSなどを引き起こされる可能性が有ります。

  • CVE-2016-2178
    • DSA 秘密鍵を取得される脆弱性

    • 重要度 - 低

    • OpenSSL DSA実装の問題により、一定時間のオペレーション使用を適切に確認しないため、キャッシュタイミング攻撃により攻撃者にDSA 秘密鍵を取得される脆弱性が存在します。

  • CVE-2016-2179
    • DTLSバッファメッセージによるDoS

    • 重要度 - 低

    • DTLS の実装が、ハンドシェークが完了してもバッファから、順番通りになっていないメッセージを削除しないことがあるため、DoSを引き起こされる脆弱性が存在します。

  • CVE-2016-2181
    • DTLSリプレイ保護へのDoS

    • 重要度 - 低

    • DTLSのリプレイ攻撃用保護メカニズムが、攻撃者により次のエポック番号を非常に大きいシーケンス番号で送った場合に、正当なパケットをドロップしてしまうことが有り、これによりDTLS接続サービスを妨害(DoS)することが可能になります。

  • CVE-2016-6306
    • 認証メッセージによるメモリ境界外の参照

    • 重要度 - 低

    • OpenSSL 1.0.2以前では、いくつかのメッセージ長チェックの不足により、アロケーションされたバッファーを超えて2バイト以上のメモリ境界外の参照が可能になっていました。これにより、論理的にはDoSのリスクが有ります。OpenSSL 1.1.0は影響を受けません。

  • CVE-2016-6307
    • tls_get_message_header()内の過度のメモリアロケーション

    • 重要度 - 低

    • OpenSSL 1.1.0のロジックフローではメッセージ用のメモリアロケーションが早すぎ、メッセージ長チェック以前で行われていました。それにより、攻撃者が21MB以上のアロケーションをサービス接続時に強制することが可能となり、結果としてメモリ逼迫によるDoSを行うことが可能になります。この問題は、DTLSユーザには影響しません。

  • CVE-2016-6308
    • dtls1_preprocess_fragment()内の過度のメモリアロケーション

    • 重要度 - 低

    • この問題はCVE-2016-6307と非常によく似ており、OpenSSL 1.1.0のロジックフローではメッセージ用のメモリアロケーションが早すぎたため、攻撃者が21MB以上のアロケーションをサービス接続時に強制することが可能となり、結果としてメモリ逼迫によるDoSを行うことが可能になります。この問題は、TLSユーザには影響しません。


主なディストリビューションの対応方法

OpenSSL及び関係するパッケージのバージョンを更新する必要があります。

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。

また、OpenSSLのライブラリを使用しているサービスの再起動が発生しますので、pacemakerなど OSSのクラスタ製品LifeKeeperな どの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます 。


セミナー情報

event_2017_02_08


OSSに関するお困りごとは サイオス OSSよろず相談室まで

サイオスOSSよろず相談室 では、OSSを利用する中で発生する問題に対し、長年培ってきた技術力・サポート力をもって企業のOSS活用を強力に支援します。Red Hat Enterprise Linux のほか、CentOS をご利用されている環境でのサポートも提供いたします。

OSSよろず相談室

サイオスOSSよろず相談室(2)

問い合わせボタン

最新の記事
linux kernelの脆弱性( CVE-2017-7277 ) 2017年03月29日
ntpに複数の脆弱性(CVE-2017-6451, CVE-2017-6452, CVE-2017-6455, CVE-2017-6458, CVE-2017-6459, CVE-2017-6460, CVE-2017-6462, CVE-2017-6463, CVE-2017-6464 ) 2017年03月28日
linux kernelの脆弱性( CVE-2017-7273 ) 2017年03月28日
AppArmorの脆弱性( CVE-2017-6507 ) 2017年03月26日
linux kernelの脆弱性( CVE-2017-7261 ) 2017年03月25日
Sambaに共有以外のファイルにアクセスされる脆弱性(CVE-2017-2619) 2017年03月24日
Subscription-managerの脆弱性( CVE-2017-2663 ) 2017年03月22日
binutilsに複数の脆弱性( CVE-2017-6965, CVE-2017-6966, CVE-2017-6969, CVE-2017-7209 , CVE-2017-7210 , CVE-2017-7223, CVE-2017-7224, CVE-2017-7225, CVE-2017-7226, CVE-2017-7227 ) 2017年03月22日
linux kernelの脆弱性( CVE-2017-7187 ) 2017年03月21日
linux kernelの脆弱性( CVE-2017-6353 , CVE-2017-5986 ) 2017年03月21日
Ubuntu 16.10のkernelの脆弱性( CVE-2017-7184 ) 2017年03月20日
pcreの脆弱性( CVE-2017-7186 ) 2017年03月20日
binutilsの脆弱性( CVE-2017-6965 , CVE-2017-6966 , CVE-2017-6969 ) 2017年03月19日
MySQL(MariaDB) 5.5/5.6のmysql clientの脆弱性( Riddle : CVE-2017-3305 ) 2017年03月18日
linux kernelの脆弱性( CVE-2017-6951 ) 2017年03月17日
Apache Struts2の脆弱性 ( CVE-2017-5638 ) 2017年03月15日
linux kernelの脆弱性( CVE-2017-6874 ) 2017年03月15日
tomcatに情報漏えいの脆弱性( CVE-2016-8747 ) 2017年03月14日
QEMUの脆弱性( CVE-2016-9603 ) (Xen: XSA-211) 2017年03月14日
lxcの脆弱性(CVE-2017-5985) 2017年03月10日
wgetの脆弱性(CVE-2017-6508) 2017年03月08日
linux kernelに特権昇格の脆弱性( CVE-2017-2636 ) 2017年03月08日
( PoC ) linux kernel特権昇格脆弱性( CVE-2017-6074 ) の暫定回避策の確認 2017年03月06日
linux kernelの脆弱性( CVE-2016-9083 , CVE-2016-9084 ) 2017年03月03日
linux kernelに複数の脆弱性( CVE-2017-6345 , CVE-2017-6346 , CVE-2017-6347 , CVE-2017-6348 ) 2017年03月01日
Katello/Foremanによる運用管理 (Part4) 2017年02月28日
util-linux / coreutils の脆弱性(CVE-2017-2616) 2017年02月24日
linux kernelの脆弱性( CVE-2017-6214 ) 2017年02月24日
linux kernelに特権昇格の脆弱性( CVE-2017-6074 ) 2017年02月23日
curlの脆弱性 ( CVE-2017-2629 ) 2017年02月22日
QEMUの脆弱性( CVE-2017-2620 ) (Xen: XSA-209) 2017年02月22日
Tomcatの脆弱性 ( CVE-2017-6056 ) 2017年02月21日
Katello/Foremanによる運用管理 (Part3) 2017年02月21日
OpenSSLの脆弱性 ( CVE-2017-3733 ) 2017年02月16日
linux kernelの脆弱性( CVE-2017-6001 , (was CVE-2016-6786) ) 2017年02月16日
QEMUの脆弱性( CVE-2017-2630 ) 2017年02月15日
glibcの脆弱性(CVE-2015-8982, CVE-2015-8983, CVE-2015-8984) 2017年02月15日
vimの脆弱性 ( CVE-2017-5953 ) 2017年02月14日
Oracle Javaの脆弱性(Oracle Critical Patch Update Advisory - January 2017) 2017年02月14日
libxml2の脆弱性(CVE-2017-5969) 2017年02月13日
「linux kernel-4.9」でのLSMモジュールについて 2017年02月13日
linux kernelの脆弱性( CVE-2017-5970 ) 2017年02月13日
linux kernelの脆弱性( CVE-2016-8636 ) 2017年02月12日
bind 9 に設定依存の脆弱性 ( CVE-2017-3135 ) 2017年02月09日
bashの自動補完機能の脆弱性( CVE-2017-5932 ) 2017年02月08日
spiceの脆弱性( CVE-2016-9577 , CVE-2016-9578 ) 2017年02月08日
QEMUの脆弱性( CVE-2017-5898 ) 2017年02月08日
linux kernelの脆弱性( CVE-2017-5897 ) 2017年02月08日
linux kernelの脆弱性( CVE-2016-10208 ) 2017年02月06日
ntfs-3gの脆弱性(CVE-2017-0358) 2017年02月02日
QEMUの脆弱性( CVE-2017-2615 ) 2017年02月02日
tcpdumpに複数の脆弱性(CVE-2016-7922 等) 2017年01月30日
libgdに複数の脆弱性情報 (CVE-2016-9317, CVE-2016-6912, CVE-2016-10167, CVE-2016-10168, CVE-2016-10169) 2017年01月29日
OpenSSLに複数の脆弱性 ( CVE-2017-3730 , CVE-2017-3731 , CVE-2017-3732 ) 2017年01月27日
RunCに関しての脆弱性( CVE-2016-9962 )のPoCとSELinuxによるリスクの軽減 2017年01月26日
systemdの重要な脆弱性( CVE-2016-10156 ) 2017年01月25日
linux kernelの複数の脆弱性( CVE-2016-10153, CVE-2016-10154, CVE-2017-5547, CVE-2017-5548, CVE-2017-5549, CVE-2017-5550, CVE-2017-5551) 2017年01月25日
Katello/Foremanによる運用管理 (Part2) 2017年01月24日
linux kernel(KVMを有効にしている場合)で複数の脆弱性( CVE-2016-10150, CVE-2017-2583 ) 2017年01月21日
OpenSCAP 1.2.13のリリース情報 2017年01月16日
最新の記事 - もっと...