In dnsmasq before 2.78, if the DNS packet size does not match the expected size, the size parameter in a memset call gets a negative value. As it is an unsigned value, memset ends up writing up to 0xffffffff zero's (0xffffffffffffffff in 64 bit platforms), making dnsmasq crash.
{ "availability": "No subscription required", "ubuntu_priority": "high", "binaries": [ { "binary_version": "2.68-1ubuntu0.1", "binary_name": "dnsmasq" }, { "binary_version": "2.68-1ubuntu0.1", "binary_name": "dnsmasq-base" }, { "binary_version": "2.68-1ubuntu0.1", "binary_name": "dnsmasq-utils" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "high", "binaries": [ { "binary_version": "2.75-1ubuntu0.16.04.2", "binary_name": "dnsmasq" }, { "binary_version": "2.75-1ubuntu0.16.04.2", "binary_name": "dnsmasq-base" }, { "binary_version": "2.75-1ubuntu0.16.04.2", "binary_name": "dnsmasq-utils" } ] }