From 125273a3568bb344afbe50d28c791aebb7f96290 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Sat, 24 Jun 2017 09:34:44 +0200 Subject: [PATCH] c-ares NAPTR parser out of bounds access CVE: CVE-2017-1000381 Upstream bug: https://c-ares.haxx.se/adv_20170620.html --- deps/cares/src/ares_parse_naptr_reply.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/deps/cares/src/ares_parse_naptr_reply.c b/deps/cares/src/ares_parse_naptr_reply.c index 11634df9847cc9..717d355778117f 100644 --- a/deps/cares/src/ares_parse_naptr_reply.c +++ b/deps/cares/src/ares_parse_naptr_reply.c @@ -110,6 +110,12 @@ ares_parse_naptr_reply (const unsigned char *abuf, int alen, status = ARES_EBADRESP; break; } + /* RR must contain at least 7 bytes = 2 x int16 + 3 x name */ + if (rr_len < 7) + { + status = ARES_EBADRESP; + break; + } /* Check if we are really looking at a NAPTR record */ if (rr_class == C_IN && rr_type == T_NAPTR) @@ -185,4 +191,3 @@ ares_parse_naptr_reply (const unsigned char *abuf, int alen, return ARES_SUCCESS; } -