An issue was discovered in picoTCP and picoTCP-NG through 1.7.0. The code that processes DNS responses in picomdnshandledataasanswersgeneric() in pico_mdns.c does not check whether the number of answers/responses specified in a DNS packet header corresponds to the response data available in the packet, leading to an out-of-bounds read, invalid pointer dereference, and Denial-of-Service.
{
"versions": [
{
"introduced": "0"
},
{
"last_affected": "1.7.0"
},
{
"introduced": "0"
},
{
"last_affected": "1.7.0"
}
]
}