この脆弱性は、Cisco Talos の Aleksandar Nikolic によって検出されました。
概要
MatrixSSL は、ソフトウェア開発キット(SDK)の形式で提供される TLS/SSL スタックで、Internet of Things(IoT)デバイスなどの組み込み型システムのアプリケーションを対象しています。リソースのオーバーヘッドが少ないことが特長で、さまざまな組み込みプラットフォームに対応しています。FIPS 140-2 準拠の暗号化にも対応しており、安全性の高い環境での使用に適しています。Talos は最近、MatrixSSL バージョン 3.8.7b で複数の脆弱性を発見しました。それには、2 つのリモート コード実行(RCE)の脆弱性と情報漏えいの脆弱性が含まれます。
TALOS-2017-0276:InsideSecure MatrixSSL x509 証明書の SubjectDomainPolicy リモート コード実行の脆弱性(CVE-2017-2780)
MatrixSSL は、x509 SubjectDomainPolicy PolicyMappings 拡張を解析する際の「parsePolicyMappings」関数の脆弱性が原因で、ヒープベースのバッファ オーバーフローの影響を受けます。DER フォーマットで x509 証明書を解析する際に、固定サイズのヒープ割り当てが発生します。受信したエンコード OID 値がヒープに割り当てられた空き容量よりも長い状況で、オーバーフロー状態が発生します。攻撃者はこの脆弱性を悪用し、巧妙に細工された OID 値を使って脆弱なシステム上にリモートでコードを実行することができます。
TALOS-2017-0277:InsideSecure MatrixSSL x509証明書の IssuerDomainPolicy リモート コード実行の脆弱性(CVE-2017-2781)
MatrixSSL は、IssuerPolicy PolicyMappings 拡張を解析する際の「parsePolicyMappings」関数の脆弱性が原因で、ヒープベースのバッファ オーバーフローの影響を受けます。DER フォーマットで x509 証明書を解析する際に、固定サイズのヒープ割り当てが発生します。受信したエンコード OID 値がヒープに割り当てられた空き容量よりも長い状況で、オーバーフロー状態が発生します。攻撃者はこの脆弱性を悪用し、巧妙に細工された OID 値を使ってリモートでコードを実行することができます。
TALOS-2017-0278:InsideSecure MatrixSSL x509 証明書の一般名称情報漏えいの脆弱性(CVE-2017-2782)
MatrixSSL は、「parseGeneralNames」関数で一般名称を解析する方法に存在する脆弱性が原因で、ヒープベースの整数オーバーフローの影響を受けます。x509 証明書は攻撃者が制御する Subject Alternative Names(サブジェクトの別名)である ASN1 文字列を含むように細工され、攻撃者はこれを使って整数オーバーフローを創り出すことができ、整数オーバーフローは影響を受けるシステム上で機密情報を漏出させるのに利用されます。
まとめ
Talos は責任を持ってこれらの脆弱性を InsideSecure 側に伝え、InsideSecure はこれらの問題を解決するセキュリティ アップデート 3.9.3 をリリースしています。これらの脆弱性の影響を受ける可能性がある組み込みシステムの多くには最新のヒープ エクスプロイトの軽減手段がないため、簡単に悪用される可能性があります。これらの脆弱性を利用し、攻撃者が該当システムでリモートでコードを実行する恐れがあるため、セキュリティ アップデートをできるだけ早く適用することを推奨します。環境を保護し続けるためには、最新のソフトウェアの脆弱性に対するパッチを常時適用することが不可欠です。このソフトウェア パッケージの最新バージョンは、こちら からご確認ください。
これらの脆弱性に関する全詳細は、TALOS-2017-0276、TALOS-2017-0277、TALOS-2017-0278 の各アドバイザリからご確認ください。
Talos では、ソフトウェアにおけるゼロデイ脆弱性の特定調査を継続的に続けていきます。また、ゼロデイ脆弱性を特定するプログラム的な手段の開発、および、それに責任ある方法で対処することが、インターネット全体のセキュリティを向上する上で非常に重要であると確信しています。
Talos の脆弱性に関する報告および公開ポリシーは、こちら から参照できます。
カバレッジ
この脆弱性を検出するために次の Snort ID がリリースされました:41466、41467
今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center、FireSIGHT Management Center、または Snort.org を参照してください。
ゼロデイ攻撃または脆弱性に関するレポートおよび情報についての詳細は、http://talosintelligence.com/vulnerability-reports/ をご覧ください。
本稿は 2017年6月22日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple Vulnerabilities in InsideSecure MatrixSSL」の抄訳です。