GNOME gdk-pixbuf (aka GdkPixbuf) before 2.42.2 allows a denial of service (infinite loop) in lzw.c in the function writeindexes. if c->selfcode equals 10, self->codetable[10].extends will assign the value 11 to c. The next execution in the loop will assign self->codetable[11].extends to c, which will give the value of 10. This will make the loop run infinitely. This bug can, for example, be triggered by calling this function with a GIF image with LZW compression that is crafted in a special way.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "gir1.2-gdkpixbuf-2.0" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-0" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-0-dbgsym" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-0-udeb" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-bin" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-bin-dbgsym" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-common" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-dev" }, { "binary_version": "2.40.0+dfsg-3ubuntu0.1", "binary_name": "libgdk-pixbuf2.0-doc" } ] }