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.
{
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "20.04"
},
{
"last_affected": "20.04"
},
{
"introduced": "20.10"
},
{
"last_affected": "20.10"
}
],
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:20.04:*:*:*:lts:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:20.10:*:*:*:*:*:*:*"
],
"source": "CPE_STRING",
"vendor_product": "canonical:ubuntu_linux"
},
{
"extracted_events": [
{
"introduced": "33"
},
{
"last_affected": "33"
},
{
"introduced": "34"
},
{
"last_affected": "34"
}
],
"cpes": [
"cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*",
"cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*"
],
"source": "CPE_STRING",
"vendor_product": "fedoraproject:fedora"
}
]
}{
"cpe": "cpe:2.3:a:gnome:gdk-pixbuf:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "2.42.2"
}
],
"source": "CPE_RANGE"
}{
"cpe": "cpe:2.3:a:gnome:gdk-pixbuf:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "2.42.2"
}
],
"source": "CPE_RANGE"
}