CVE-2017-14033: OpenSSL の ASN1 デコードにおけるバッファーアンダーランについて

Ruby の標準添付ライブラリである OpenSSL の OpenSSL::ASN1 モジュールの decode メソッドにおいて、特殊な引数を渡された場合に、バッファーアンダーランが発生し、状況によってはヒープの中身が外部から閲覧可能となりうるという脆弱性が発見されました。 この脆弱性は、CVE-2017-14033 として登録されています。

詳細

OpenSSL::ASN1 モジュールの decode メソッドにおいて、特殊な文字列が引数として与えられた場合に、バッファーアンダーランが発生していました。 この時、Ruby インタプリタがクラッシュする場合がありました。

この問題の影響を受けるバージョンの Ruby のユーザーは、速やかに問題の修正されたバージョンに更新するか、または下記の回避策を取ってください。

影響を受けるバージョン

  • Ruby 2.2.7 以前の全ての Ruby 2.2 系列
  • Ruby 2.3.4 以前の全ての Ruby 2.3 系列
  • Ruby 2.4.1 以前の全ての Ruby 2.4 系列
  • revision 56946 より前の開発版

回避策

OpenSSL ライブラリは gem としても配布されています。 Ruby 2.4 系列であれば、この問題が修正されたバージョン 2.0.0 以降の OpenSSL gem をインストールすることによっても、標準添付されている版を置き換えることができます。 Ruby 2.2・2.3 系列の場合は、OpenSSL gem をインストールしても、通常は標準添付されている版が使用されてしまいますのでご注意ください。

クレジット

この脆弱性情報は、asac 氏によって報告されました。

更新履歴

  • 2017-09-14 21:00:00 (JST) 初版