現在位置: ホーム / セキュリティ ブログ / OpenSSLの脆弱性 ( CVE-2017-3737, CVE-2017-3738 )

OpenSSLの脆弱性 ( CVE-2017-3737, CVE-2017-3738 )

12/7に、当初の予告通りopensslに関しての脆弱性情報 ( CVE-2017-3737, CVE-2017-3738 )が公開されました。今回は、これらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。

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

12/7に、当初の予告通りopensslに関しての脆弱性情報 ( CVE-2017-3737, CVE-2017-3738 )が公開されました。今回は、これらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。




影響するバージョン

OpenSSL: 1.0.2l以前

Priority

Medium(CVE-2017-3738)/Low(CVE-2017-3737)

修正方法

各ディストリビューションの情報を確認してください。

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

  • CVE-2017-3737

    • 「error state(エラー状態)」を回避してSSL_read()やSSL_write()が呼び出せるバグ

    • 重要度 - Medium/Moderate

    • 対象:1.0.2系(1.0.2m, 1.0.2l, 1.0.2k, 1.0.2j, 1.0.2i, 1.0.2h, 1.0.2g, 1.0.2f, 1.0.2e, 1.0.2d, 1.0.2c, 1.0.2b)

    • OpenSSL 1.0.2b以降では「error state(エラー状態)」メカニズムが導入されています。これは、ハンドシェイク中に致命的なエラーが発生した場合に、OpenSSLはエラー状態に移行し、ハンドシェイクを続行しようとすると即座に失敗するようになるものです。

      これはハンドシェイク関数(SSL_do_handshake(), SSL_accept() and SSL_connect())の場合には動作しますが、SSL_read()やSSL_write()が直接呼び出された場合にはバグにより動作しません。その場合、ハンドシェイクが失敗した場合には最初の関数のコールで致命的なエラーが返されます。

      もしSSL_read()/SSL_write()がアプリケーションによって同じSSLオブジェクトに対して続けて呼び出された場合、その呼び出しは成功し、データがSSL/TLSレコードレイヤから暗号化/復号化されずに渡ってしまいます。

      この問題を悪用するには、アプリケーションが致命的なエラーを既に受け取った後に、更にSSL_read()/SSL_write()をコールするようなバグが存在する必要が有ります。

  • CVE-2017-3738

    • AVX2モンゴメリ乗算プロシジャーにオーバーフローのバグ

    • 重要度 - Low

    • 対象:1.0.2系(1.0.2m, 1.0.2l, 1.0.2k, 1.0.2j, 1.0.2i, 1.0.2h, 1.0.2g, 1.0.2f, 1.0.2e, 1.0.2d, 1.0.2c, 1.0.2b, 1.0.2a, 1.0.2)

    • 対象:1.1.0系(1.1.0g, 1.1.0f, 1.1.0e, 1.1.0d, 1.1.0c, 1.1.0b, 1.1.0a, 1.1.0)

    • 1024ビットの係数を使用した累乗で使用されるAVX2モンゴメリ乗算プロシジャーにオーバーフローのバグがあります。ECアルゴリズムは影響を受けません。

      これはAVX2をサポートするプロセッサにのみ影響しますが、Intel Haswell(第4世代)などのADX拡張は影響を受けません。

      注):この問題のインパクトは、CVE-2017-3736CVE-2017-3732, CVE-2015-3193に似ています。この問題の重要度は"Low"であるため、現時点ではOpenSSL 1.1.0の新しいリリースは出ていません。


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

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

なお、OpenSSL 1.0.1シリーズ以前のバージョンは本家ではサポート終了となっておりますので詳しい情報は各ディストリビューションの提供元にご確認下さい。


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat Satelliteを使うと管理が便利でしょう。

Red Hat Satelliteを用いた一般的なErattaの適用は、『Red Hat Satellite 6でerrataを適用してみる』を 参考にして下さい。

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

[参考]

https://mta.openssl.org/pipermail/openssl-announce/2017-December/000109.html


セミナー情報

12/13/(水)に「OSSセキュリティナイターvol.7」と題して、セキュリティのセミナーを行います。この回では、『IoTセキュリティの今/世界のLinux Securityの今 』と題してIoTセキュリティの著名な方、またLinux Securityの著名な方を講師としてお招きし、IoTセキュリティの話と、世界のLinux Securityの最新動向を御講演頂きます。

https://connpass.com/event/72983がプログラム内容と申し込みの詳細になりますので、是非お申し込み下さい。

セキュリティ系連載案内

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

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

タグ:
OSSよろず相談室

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

問い合わせボタン

最新の記事
ROBOT ( Return Of Bleichenbacher's Oracle Threat ) 攻撃 (翻訳情報) 2017年12月13日
Linux Kernelの脆弱性(CVE-2017-17558) 2017年12月13日
glibcの複数の脆弱性(CVE-2017-1000408 , CVE-2017-1000409 ) 2017年12月12日
PowerDNSの脆弱性(CVE-2017-15120) 2017年12月12日
rsyncの複数の脆弱性(CVE-2017-17433, CVE-2017-17434) 2017年12月08日
Linux Kernelの脆弱性(CVE-2017-1000410) 2017年12月08日
Linux Kernelに複数の脆弱性(CVE-2017-17448, CVE-2017-17449, CVE-2017-17450) 2017年12月08日
Linux Kernelの脆弱性(CVE-2017-15868) 2017年12月08日
OpenSSLの脆弱性 ( CVE-2017-3737, CVE-2017-3738 ) 2017年12月08日
Linux Kernelの脆弱性(CVE-2017-15121) 2017年12月07日
DockerとSELinuxを組み合わせてDocker環境を強化しよう 2017年12月07日
SELinuxを用いて2つのhttpdインスタンスに独立なドメインを割り当てる。 2017年12月07日
Linux Kernelの脆弱性(CVE-2017-8824) 2017年12月06日
KVMの脆弱性(CVE-2017-1000407) 2017年12月04日
Apache Struts2に複数の脆弱性(S2-054, S2-055) 2017年12月01日
Linux Kernelの脆弱性(Huge Dirty COW: CVE-2017-1000405) 2017年11月30日
curlに複数の脆弱性(CVE-2017-8816, CVE-2017-8817, CVE-2017-8818) 2017年11月30日
Linux Kernelの複数の脆弱性(CVE-2017-17052, CVE-2017-17053) 2017年11月30日
Linux Kernelの脆弱性(CVE-2017-16994) 2017年11月28日
eximの複数の脆弱性(CVE-2017-16943, CVE-2017-16944) 2017年11月26日
最新の記事 - もっと...