| Title | OpenSSL ProjectのOpenSSLにおける境界外書き込みに関する脆弱性 |
|---|---|
| Summary | 問題の概要: 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は影響を受けません。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | Jan. 27, 2026, midnight |
| Registration Date | Feb. 4, 2026, 6:39 p.m. |
| Last Update | Feb. 4, 2026, 6:39 p.m. |
| CVSS3.0 : 重要 | |
| Score | 7.4 |
|---|---|
| Vector | 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 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年02月04日] 掲載 |
Feb. 4, 2026, 6:39 p.m. |