ImageMagick is free and open-source software used for editing and manipulating digital images. ImageMagick versions lower than 14.8.2 inclu…
ImageMagick is free and open-source software used for editing and manipulating digital images. ImageMagick versions lower than 14.8.2 include insecure functions: SeekBlob(), which permits advancing the stream offset beyond the current end without increasing capacity, and WriteBlob(), which then expands by quantum + length (amortized) instead of offset + length, and copies to data + offset. When offset ≫ extent, the copy targets memory beyond the allocation, producing a deterministic heap write on 64-bit builds. No 2⁶⁴ arithmetic wrap, external delegates, or policy settings are required. This is fixed in version 14.8.2.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
https://cwe.mitre.org/data/definitions/122.html →Open in CWE collection →This attack forces an integer variable to go out of range. The integer variable is often used as an offset such as size of memory allocation or similarly. The attacker would typically control the value of such variable and try to get it out of range. For instance the integer in question is incremented past the maximum possible value, it may wrap to become a very small, or negative number, therefore providing a very incorrect value which can lead to unexpected behavior. At worst the attacker can execute arbitrary code.
https://capec.mitre.org/data/definitions/92.html →Open in CAPEC collection →| Product | Vendor | Status |
|---|---|---|
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| Tracked | ||
| ImageMagick | Tracked |