CHMLib 0.40a における CHM ヘッダー解析中の... ノート

CHMLib 0.40a における CHM ヘッダー解析中の _unmarshal_int32 / _unmarshal_uint32 での整数オーバーフロー

Ron E さんが 9 月 15 日に投稿した内容:CHMLib (最新リリース 0.40) には、不正な形式の CHM (Compiled HTML Help) ファイルを解析する際に脆弱性が存在します。_unmarshal_int32 および _unmarshal_uint32 関数は、適切な型キャストを行わずに、符号付き整数に対する左シフト演算を使用して 32 ビット値を再構築します。具体的には、*dest = (*pData)[0] | (*pData)[1]<<8 | (*pData)[2]<<16 | (*pData)[3]<<24; のようになります。攻撃者が細工された入力を提供し、最上位バイトが 0xFF になるようにした場合、これが左シフト...