| 标题 | 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分 (7 月前) |
|---|
| 管理 | 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 |
|---|