これは、最近発見された CVE-2022-3602、CVE-2022-3786 に関連するシンプルなユーティリティのコレクションであり、以下の問いに答えることを可能にします:
以下のコマンドを実行すると
python openssl_req_client_cert.py HOST_NAME PORT
SSL サーバーがクライアント認証を要求しているかどうかを判定します。要求している場合、OpenSSL 3.0.0..3.0.6 に基づくサーバーは上記の CVE に対して脆弱となります [https://jfrog.com/knowledge-base/upcoming-openssl-3-x-critical-vulnerability/]
例:
|ψ> python openssl_req_client_cert.py 127.0.0.1 12345
127.0.0.1:12345 -> Client certificate not required
OpenSSL を使用するアプリケーションは、ライブラリがアプリケーションのバイナリに静的リンクされている場合、見落とされがちです。 以下のコマンドを実行すると
python scan_vulnerable_openssl_code.py ROOT_DIR
ROOT_DIR を再帰的にスキャンして ELF ファイルを探し、パターン ossl_punycode_decode (バージョン >=3.0.0 を示す) を含むファイルを報告します。さらに、更新されたバージョン (3.0.7) を示すパターン ripemd160_newctx も含むファイルは、そのように報告されます。