OpenSSL ProjectのOpenSSLにおける境界外書き込みに関する脆弱性
タイトル OpenSSL ProjectのOpenSSLにおける境界外書き込みに関する脆弱性
概要

問題の概要: BMPString (UTF-16BE) 形式で非ASCIIのBMPコードポイントを含む悪意のあるPKCS#12ファイルに対してPKCS12_get_friendlyname()関数を呼び出すと、割り当てられたバッファの前に1バイトの書き込みが発生する可能性があります。影響の概要: バッファ越えの書き込みによってメモリ破壊が発生し、サービス拒否を含む様々な影響を引き起こすことがあります。OPENSSL_uni2utf8()関数はPKCS#12のBMPString (UTF-16BE) をUTF-8に二段階で変換します。第二段階でUTF-8バイトを生成する際、補助関数bmp_to_utf8()が残りのUTF-16元データバイト数をUTF8_putc()の宛先バッファ容量として誤って渡します。U+07FFを超えるBMPコードポイントではUTF-8に3バイト必要ですが、渡される容量は2バイトの場合があります。UTF8_putc()は-1を返し、この負の値が検証なしに出力長に加算されて長さが負の値になります。その後の終端NULバイトは負のオフセットに書き込まれ、ヒープ割り当てバッファ外への書き込みを引き起こします。この脆弱性は攻撃者が制御するPKCS#12ファイルを解析する公のPKCS12_get_friendlyname() APIを通じて悪用可能です。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は影響を受けません。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年1月27日0:00
登録日 2026年2月4日18:39
最終更新日 2026年2月4日18:39
CVSS3.0 : 重要
スコア 7.4
ベクター CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
影響を受けるシステム
OpenSSL Project
OpenSSL 1.1.1 以上 1.1.1ze 未満
OpenSSL 3.0.0 以上 3.0.19 未満
OpenSSL 3.3.0 以上 3.3.6 未満
OpenSSL 3.4.0 以上 3.4.4 未満
OpenSSL 3.5.0 以上 3.5.5 未満
OpenSSL 3.6.0 以上 3.6.1 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年02月04日]
  掲載
2026年2月4日18:39