
このパッチは、OpenSSL の ASN.1/DER デコードコードにおける整数切り捨ての問題に対処します。
以下の変更が行われました:
ASN.1 コンテンツ長の型を更新
asn1_ex_c2i() の len パラメータを int から long に変更。長さの切り捨て検証を追加
len の int 表現を保持する ilen 変数を導入。long 長が安全に int に収まるかどうかを検証するチェックを追加。TOO_LONG エラーを返します。プリミティブ変換処理を更新
prim_c2i() コールバックは、長さが安全に int として表現できる場合にのみ呼び出されるようになりました。int を期待する関数に渡されるのを防ぎます。ASN.1 オブジェクト変換を更新
ossl_c2i_ASN1_OBJECT() を呼び出す前に、同じ長さの検証を追加。ASN.1 文字列処理を更新
ASN1_STRING_set0() および ASN1_STRING_set() を変更し、元の大きすぎる可能性のある len の代わりに、検証済みの ilen 値を使用するようにしました。これらの変更により、サポートされている int 範囲を超える攻撃者制御の ASN.1 長が、暗黙的に切り捨てられ、その後バッファ操作に使用されることを防ぎます。これにより、不正確な長さの計算を防ぎ、CVE-2026-34180 に関連するヒープバッファの過読み取り状態を軽減します。