2017/6/21にOpenVPN 2.4.3がリリースされました。
このバージョンは Guido Vranken 氏によって報告されたいくつかの脆弱性に対する修正が加えられています。
脆弱性に基づいて攻撃が成立するには一定の条件があるためそれほど危険性は高くないとされていますが、下記の情報を参考にしてアップデートの可否をご検討いただくことをお勧めします。
[追記 2016.6.23 16:30] Openvpn-usersメーリングリスト宛の投稿で、Gert Doering氏がこれらの脆弱性について次のようにまとめています。
CVE-2017-7520、7521、7522は、「プロキシでNTLMv2を使用している」、「
--x509-username-field
オプションを使用している」、「サーバー側で--x509-track
オプションを使用している」という条件を満たしていない限り、これらの脆弱性の影響は受けない。
CVE-2017-7508は「IPv6をVPNトンネル内で使用していること」、「--mssfix
を使用していること」、「不正なIPv6パケットをファイアウォールでブロックしていない」といった条件を満たさない限りは影響を受けない。
- 不正なIPv6パケットによってASSERT()が引き起こされる脆弱性 (CVE-2017-7508)
OpenVPNサーバー/クライアントでIPv6が動作しており、--mssfix
が有効になっていて、VPN内でIPv6ネットワークが使用されている場合、リモートでシャットダウンされる可能性のある脆弱性があります。 - HTTPプロキシをNTLM認証で使用している場合にクラッシュやデータの漏洩が引き起こされる脆弱性 (CVE-2017-7520)
クライアントがNTLM認証でHTTPプロキシを使用している場合、クライアントとプロキシ間でMITM(man-in-the-middle)攻撃を受け、クライアントがクラッシュさせられたり、最大96バイトのスタックメモリの内容が漏洩する可能性があります。
この内容にはプロキシパスワードが含まれる可能性があり、パスワードが使用されていない場合はデータそのものの一部が漏洩の対象となります。--http-proxy
オプションをNTLM2認証で使用していない限りはこの脆弱性の影響は受けません。 -
--x509-alt-username
でメモリ不足が発生させられる可能性 (CVE-2017-7521)
extract_x509_extension()
内のASN1_STRING_to_UTF8()
の戻り値が正しくチェックされていない問題があり、二重解放 (double free) が発生する可能性があります。これにより、x509 エクステンション付きの--x509-alt-username
オプション(オプションパラメータが「ext:
」で始まるもの)を使用している場合に、メモリ不足が引き起こされ、プロセスが終了する危険性があります。 - メモリリークの可能性 (CVE-2017-7521)
OpenSSLに関連した処理内でメモリの開放が正しく行われていない部分があるため、クライアントの接続試行ごとに数バイトのメモリリークを発生させ、サーバーのメモリ不足を引き起こす可能性があります。特に、x509 エクステンション付きの--x509-alt-username
オプション(オプションパラメータが「ext:
」で始まるもの)を使用している場合にメモリが正しく開放されません。 - –x509-trackオプションが使用されているときにサーバーをクラッシュさせられる脆弱性 (CVE-2017-7522)
NULキャラクタが含まれたASN.1をasn1_buf_to_c_string()
が戻した場合に、呼び出し元が正しく処理できずにクラッシュする危険性があります。
この問題が発生する可能性があるのは、下記の条件を満たす場合です。
・ mbedtlsビルド
・ バージョン2.4以降(2.3は該当せず)
・--x509-track
オプションが使用されている
・証明書のサブジェクトにNULが埋め込まれた証明書に署名したCA
上記の詳細についてはこちらを参照してください。