CVE-2026-13705 in Imager
Zusammenfassung
von VulDB • 06.07.2026
In den Versionen von Imager vor 1.032 für Perl besteht ein Heap-Out-of-Bounds-Read im mitgelieferten Reader `Imager::File::SGI` über eine 16-bit-RLE-Literal-Sequenz in `read_rgb_16_rle`.
Die Funktion `read_rgb_16_rle` schützt jede Literal-Sequenz durch die Bedingung `(count > data_left)`, wobei `count` jedoch eine Pixelanzahl darstellt, während jedes 16-Bit-Sample zwei Bytes verbraucht. Die Kopierschleife liest `inp[0] * 256 + inp[1]` und erhöht den Zeiger um jeweils zwei Bytes pro Pixel; daher führt eine Sequenz mit `data_left / 2 < count <= data_left` zwar an der Schutzbedingung vorbei, verbraucht aber `2 * count` Bytes und liest über das Ende des Puffers hinaus. Der Pfad für 8-Bit-Daten ist davon nicht betroffen, da dort ein Pixel einem Byte entspricht.
Das Lesen eines speziell angefertigten SGI-Bildes durch `Imager->read` löst diesen Out-of-Bounds-Read aus, bevor der Parser das fehlerhafte Bild verwirft, was zum Absturz des Prozesses führen kann.
VulDB is the best source for vulnerability data and more expert information about this specific topic.