OpenSSL1.1.1kで見つかった重大なセキュリティ上の欠陥を修正

OpenSSLは、オペレーティングシステム、Windows、および多くのLinuxおよびUnixベースのディストリビューションで最も使用されている暗号化ライブラリの1.1.1つであり、OpenSSLを使用して、すべての暗号化、デジタル証明書などを管理します。セキュリティ上の欠陥のない暗号化ライブラリを持つことは不可欠です。他のセキュリティ上の欠陥を解決するときに組み込まれたXNUMXつの重大な欠陥を解決するために来る新しいOpenSSLXNUMXkバージョンの発売を知っていました。 あなたはすべての詳細を知りたいですか、そしてこれらのセキュリティの欠陥があなたに影響を与えるかどうか?

OpenSSL 1.1.1k

CA証明書のチェックをバイパスする

OpenSSLは、X509_V_FLAG_X509_STRICTと呼ばれる新しい関数を導入しました。この関数の目的は、エラーを返すことによってそれらの使用を拒否することを目的として、疑わしいデジタル証明書をチェックすることです。 この機能が組み込まれたのは、Windows実装のECC楕円曲線証明書チェック機能にバグが見つかったためです。これにより、攻撃者はエラーを返さずに証明書全体を正常であると検証できます。 これらのMicrosoftで検証されたECCベースの証明書は機能せず、誰もがそれらを受け入れました。 Microsoftは新しい機能を追加し、OpenSSLはこの機能を継承して、「疑わしい」デジタル証明書を検出しました。 OpenSSLバージョン1.1.1hの時点で、このタイプの証明書を許可しないように追加のチェックが追加されました。

このチェックの実装でエラーが発生したため、事前チェックが正しく検証されず、CA以外の証明書が証明書を発行できます(発生してはならないことです。証明書を発行および取り消すことができるのはCAだけです)。 したがって、これにより、証明書が通常の証明書(CAではない)から生成される可能性がありますが、これは決して発生しないはずです。

重要な詳細は、X509_V_FLAG_X509_STRICT関数がデフォルトで有効になっていないことですが、アプリケーションがそれを使用するためにそれをアクティブ化すると、他の問題を引き起こす可能性があります。 このバグはすべてのOpenSSLバージョン1.1.1h以降に影響します。このバージョンのすべてのユーザーは、できるだけ早くバージョン1.1.1kに更新する必要があります。 OpenSSLバージョン1.0.2を使用している場合、この問題の影響を受けません。

OpenSSLを使用したTLSサーバーへのサービス拒否

彼らが修正したもう1.2つの非常に重要なバグは、TLSプロトコルのネゴシエーションに関連しています。 ClientHello再ネゴシエーションがクライアントから送信された場合、OpenSSL暗号化ライブラリを使用するTLSサーバーが失敗する可能性があります。 TLSvXNUMXとの再ネゴシエーションで、ClienHelloがsignature_algoritms拡張機能(最初のClientHelloが存在した場合)を省略し、signature_algorithms_cert拡張機能を含む場合、ポインターを逆参照し、対応するサービス拒否でロックを引き起こします。

サーバーは、TLSv1.2プロトコルを使用し、再ネゴシエーションが有効になっている場合にのみ脆弱です(デフォルトでは有効になっています)。 TLSクライアントはこの脆弱性の影響を受けず、サーバーのみが影響を受けます。 すべてのOpenSSL1.1.1バージョンがこのバグの影響を受けるため、できるだけ早くOpenSSL1.1.1kバージョンに更新することをお勧めします。 OpenSSLバージョン1.0.2もこの問題の影響を受けません。

OpenSSLバージョン1.0.2は、バージョン1.1.0と同じようにサポートされていないことを覚えておく必要があります。したがって、見つかったこれらすべての問題を解決するには、常に最新のOpenSSL1.1.1kバージョンに更新することをお勧めします。 Linuxオペレーティングシステムを使用している場合は、次のコマンドを実行して、リポジトリで利用できるようになったら更新を続行します。

sudo apt updatesudo apt upgrade

Sergio de los Santosのスレッドを読んで、両方の失敗について簡単に説明することをお勧めします。