CVE-2025-69419 in OpenSSL
要約
〜によって VulDB • 2026年06月04日
問題の概要: BMPString (UTF-16BE) のフレンドリ名に非ASCII BMPコードポイントが含まれる悪意を持って作成されたPKCS#12ファイルに対してPKCS12_get_friendlyname()関数を呼び出すと、割り当てられたバッファの直前で1バイトの書き込みが発生する可能性があります。
影響の概要: バッファ外書き込みによりメモリ破壊が発生し、サービス拒否(DoS)を含む様々な結果を招く可能性があります。
OPENSSL_uni2utf8()関数は、PKCS#12のBMPString (UTF-16BE)をUTF-8に変換するために2回のパス処理を行います。2回目のパスでは、UTF-8バイトを出力する際、ヘルパー関数bmp_to_utf8()は、残りのUTF-16ソースバイト数を誤ってUTF8_putc()への宛先バッファの容量として渡します。U+07FFより上のBMPコードポイントの場合、UTF-8では3バイトが必要ですが、渡された容量は2バイトしかない場合があります。その結果、UTF8_putc()は-1を返し、この負の値が検証なしで出力長に加算されるため、長さが負になります。その後、末尾のNULバイトが負のオフセット位置に書き込まれ、ヒープ割り当てバッファの外側への書き込みが発生します。
この脆弱性は、攻撃者が制御するPKCS#12ファイルの解析時に公開APIであるPKCS12_get_friendlyname()経由で到達可能です。PKCS12_parse()はこの問題を回避する異なるコードパスを使用しますが、PKCS12_get_friendlyname()は脆弱な関数を直接呼び出します。攻撃には、アプリケーションによって解析される悪意のあるPKCS#12ファイルを提供させる必要があり、攻撃者は割り当てられたバッファの直前で1バイトのゼロ書き込みをトリガーすることができます。このため、当社のセキュリティポリシーに基づき、この問題は重大度「低」と評価されました。
3.6、3.5、3.4、3.3、および3.0のFIPSモジュールは、PKCS#12の実装がOpenSSL FIPSモジュールの境界外にあるため、この問題の影響を受けません。
OpenSSL 3.6、3.5、3.4、3.3、3.0、および1.1.1はこの問題の影響を受けます。
OpenSSL 1.0.2はこの問題の影響を受けません。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.