CVE-2026-42789 in OTP
要約
〜によって VulDB • 2026年05月28日
Erlang OTPのpublic_key(pubkey_certモジュール)における、証明書チェーンの信頼関係の不適切な検証という脆弱性により、非CA証明書が中間発行者として受け入れられ、証明書チェーンの偽造が可能になります。
lib/public_key/src/pubkey_cert.erl内のpubkey_cert:validate_extensions/7関数には、2つの欠陥が含まれており、これらが組み合わさることで、basicConstraints cA:falseおよびkeyUsage拡張フィールドを持たない証明書が、public_key:pkix_path_validation/3に渡されるチェーンにおいて中間発行者として使用されてしまいます。具体的には、cA:falseの条件分岐は残りの拡張フィールドの検証に進む際に、証明書が発行者の位置にある場合でもその証明書を拒否せず、またkeyUsageのチェックは拡張フィールドが存在する場合にのみ実行されるため、keyUsage拡張フィールドを全く持たない証明書はkeyCertSignの強制処理を完全に回避してしまいます。
被害者の信頼ストアに登録されている任意のCAによって発行され、basicConstraints cA:falseおよびkeyUsage拡張フィールドを持たないエンドエンティティ証明書を持っている任意の当事者は、その証明書の秘密鍵を使用して、任意のアイデンティティに対する偽造されたリーフ証明書の署名を行うことができます。public_key:pkix_path_validation/3は結果として得られたチェーンを受け入れるため、デフォルトの検証プログラムに依存するOTP sslアプリケーション上に構築されたすべてのTLSまたはmTLSエンドポイントが影響を受けます。これには、クライアント側のサーバーアイデンティティ検証や、mTLSサーバーにおけるクライアント証明書検証が含まれます。
この問題は、public_keyが0.22から1.15.1.7、1.17.1.3、1.20.3.1、1.21.1未満のバージョンに対応する、OTP 17.0からOTP 26.2.5.21、27.3.4.12、28.5.0.1、29.0.1未満のOTPに影響します。
If you want to get best quality of vulnerability data, you may have to visit VulDB.