The c-ares function ares_parse_naptr_reply(), which is used for parsing NAPTR responses, could be triggered to read memory outside of the given input buffer if the passed in DNS response packet was crafted in a particular way.
{
"unresolved_ranges": [
{
"source": "CPE_FIELD",
"extracted_events": [
{
"introduced": "4.0.0"
},
{
"last_affected": "4.1.2"
},
{
"introduced": "5.0.0"
},
{
"last_affected": "5.12.0"
},
{
"introduced": "6.0.0"
},
{
"last_affected": "6.8.1"
},
{
"introduced": "7.0.0"
},
{
"fixed": "7.10.1"
},
{
"introduced": "8.0.0"
},
{
"fixed": "8.1.4"
}
],
"cpe": "cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*"
},
{
"source": "CPE_FIELD",
"extracted_events": [
{
"introduced": "4.2.0"
},
{
"fixed": "4.8.4"
},
{
"introduced": "6.9.0"
},
{
"fixed": "6.11.1"
}
],
"cpe": "cpe:2.3:a:nodejs:node.js:*:*:*:*:lts:*:*:*"
}
]
}{
"source": "CPE_FIELD",
"extracted_events": [
{
"introduced": "0"
},
{
"last_affected": "1.8.0"
},
{
"last_affected": "1.9.0"
},
{
"last_affected": "1.9.1"
},
{
"last_affected": "1.10.0"
},
{
"last_affected": "1.12.0"
},
{
"last_affected": "1.11.0"
},
{
"last_affected": "1.11.0-rc1"
}
],
"cpe": [
"cpe:2.3:a:c-ares:c-ares:1.8.0:*:*:*:*:*:*:*",
"cpe:2.3:a:c-ares:c-ares:1.9.0:*:*:*:*:*:*:*",
"cpe:2.3:a:c-ares:c-ares:1.9.1:*:*:*:*:*:*:*",
"cpe:2.3:a:c-ares:c-ares:1.10.0:*:*:*:*:*:*:*",
"cpe:2.3:a:c-ares:c-ares:1.12.0:*:*:*:*:*:*:*",
"cpe:2.3:a:c-ares_project:c-ares:1.11.0:*:*:*:*:*:*:*",
"cpe:2.3:a:c-ares_project:c-ares:1.11.0:rc1:*:*:*:*:*:*"
]
}