| タイトル | dloebl CGIF v0.4.0 to v0.5.2 Integer Overflow |
|---|
| 説明 | CGIF is a fast and lightweight GIF encoder that can create GIF animations and images.
This code is vulnerable to CWE-190: Integer Overflow due to improper type handling in the pixel count calculation within the cgif_addframe function at line 521 of src/cgif.c. The function calculates the total number of pixels using direct multiplication (width * height) when comparing adjacent frames. When processing an oversized GIF, the multiplication of operands of type uint16_t is implicitly promoted to a signed int type and overflows, resulting in a negative value. This negative value acts as a loop condition, causing the frame comparison loop to not execute at all. As a result, frames with completely different content are incorrectly judged to be identical and discarded through optimization, potentially leading to missing frames or data corruption in the generated GIF animation. |
|---|
| ソース | ⚠️ https://github.com/dloebl/cgif/issues/110 |
|---|
| ユーザー | zzxzzb (UID 95450) |
|---|
| 送信 | 2026年03月12日 03:21 (26 日 ago) |
|---|
| モデレーション | 2026年03月27日 13:47 (15 days later) |
|---|
| ステータス | 承諾済み |
|---|
| VulDBエントリ | 353874 [dloebl CGIF 迄 0.5.2 GIF Image src/cgif.c cgif_addframe width/height メモリ破損] |
|---|
| ポイント | 20 |
|---|