An issue was discovered in picoTCP and picoTCP-NG through 1.7.0. The code that processes DNS responses in pico_mdns_handle_data_as_answers_generic() 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.
The product reads data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://www.kb.cert.org/vuls/id/815128 | third party advisory us government resource |
https://us-cert.cisa.gov/ics/advisories/icsa-20-343-01 | third party advisory us government resource |