VYPR
Unrated severityNVD Advisory· Published Oct 3, 2019· Updated Aug 5, 2024

CVE-2019-16866

CVE-2019-16866

Description

Unbound before 1.9.4 accesses uninitialized memory, which allows remote attackers to trigger a crash via a crafted NOTIFY query. The source IP address of the query must match an access-control rule.

Affected products

2

Patches

1
b60c4a472c85

Branch 1.9.4 prepares for 1.9.4 release from 1.9.3

https://github.com/NLnetLabs/unboundW.C.A. WijngaardsOct 3, 2019via osv
3 files changed · +18 16
  • configure+13 12 modified
    @@ -1,6 +1,6 @@
     #! /bin/sh
     # Guess values for system-dependent variables and create Makefiles.
    -# Generated by GNU Autoconf 2.69 for unbound 1.9.3.
    +# Generated by GNU Autoconf 2.69 for unbound 1.9.4.
     #
     # Report bugs to <unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues>.
     #
    @@ -591,8 +591,8 @@ MAKEFLAGS=
     # Identity of this package.
     PACKAGE_NAME='unbound'
     PACKAGE_TARNAME='unbound'
    -PACKAGE_VERSION='1.9.3'
    -PACKAGE_STRING='unbound 1.9.3'
    +PACKAGE_VERSION='1.9.4'
    +PACKAGE_STRING='unbound 1.9.4'
     PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues'
     PACKAGE_URL=''
     
    @@ -1445,7 +1445,7 @@ if test "$ac_init_help" = "long"; then
       # Omit some internal or obsolete options to make the list less imposing.
       # This message is too long to be a string in the A/UX 3.1 sh.
       cat <<_ACEOF
    -\`configure' configures unbound 1.9.3 to adapt to many kinds of systems.
    +\`configure' configures unbound 1.9.4 to adapt to many kinds of systems.
     
     Usage: $0 [OPTION]... [VAR=VALUE]...
     
    @@ -1510,7 +1510,7 @@ fi
     
     if test -n "$ac_init_help"; then
       case $ac_init_help in
    -     short | recursive ) echo "Configuration of unbound 1.9.3:";;
    +     short | recursive ) echo "Configuration of unbound 1.9.4:";;
        esac
       cat <<\_ACEOF
     
    @@ -1729,7 +1729,7 @@ fi
     test -n "$ac_init_help" && exit $ac_status
     if $ac_init_version; then
       cat <<\_ACEOF
    -unbound configure 1.9.3
    +unbound configure 1.9.4
     generated by GNU Autoconf 2.69
     
     Copyright (C) 2012 Free Software Foundation, Inc.
    @@ -2438,7 +2438,7 @@ cat >config.log <<_ACEOF
     This file contains any messages produced by compilers while
     running configure, to aid debugging if configure makes a mistake.
     
    -It was created by unbound $as_me 1.9.3, which was
    +It was created by unbound $as_me 1.9.4, which was
     generated by GNU Autoconf 2.69.  Invocation command line was
     
       $ $0 $@
    @@ -2790,11 +2790,11 @@ UNBOUND_VERSION_MAJOR=1
     
     UNBOUND_VERSION_MINOR=9
     
    -UNBOUND_VERSION_MICRO=3
    +UNBOUND_VERSION_MICRO=4
     
     
     LIBUNBOUND_CURRENT=9
    -LIBUNBOUND_REVISION=3
    +LIBUNBOUND_REVISION=4
     LIBUNBOUND_AGE=1
     # 1.0.0 had 0:12:0
     # 1.0.1 had 0:13:0
    @@ -2865,6 +2865,7 @@ LIBUNBOUND_AGE=1
     # 1.9.1 had 9:1:1
     # 1.9.2 had 9:2:1
     # 1.9.3 had 9:3:1
    +# 1.9.4 had 9:4:1
     
     #   Current  -- the number of the binary API that we're implementing
     #   Revision -- which iteration of the implementation of the binary
    @@ -21273,7 +21274,7 @@ _ACEOF
     
     
     
    -version=1.9.3
    +version=1.9.4
     
     date=`date +'%b %e, %Y'`
     
    @@ -21792,7 +21793,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
     # report actual input values of CONFIG_FILES etc. instead of their
     # values after options handling.
     ac_log="
    -This file was extended by unbound $as_me 1.9.3, which was
    +This file was extended by unbound $as_me 1.9.4, which was
     generated by GNU Autoconf 2.69.  Invocation command line was
     
       CONFIG_FILES    = $CONFIG_FILES
    @@ -21858,7 +21859,7 @@ _ACEOF
     cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
     ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
     ac_cs_version="\\
    -unbound config.status 1.9.3
    +unbound config.status 1.9.4
     configured by $0, generated by GNU Autoconf 2.69,
       with options \\"\$ac_cs_config\\"
     
    
  • configure.ac+3 2 modified
    @@ -11,14 +11,14 @@ sinclude(dnscrypt/dnscrypt.m4)
     # must be numbers. ac_defun because of later processing
     m4_define([VERSION_MAJOR],[1])
     m4_define([VERSION_MINOR],[9])
    -m4_define([VERSION_MICRO],[3])
    +m4_define([VERSION_MICRO],[4])
     AC_INIT(unbound, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), unbound-bugs@nlnetlabs.nl or https://github.com/NLnetLabs/unbound/issues, unbound)
     AC_SUBST(UNBOUND_VERSION_MAJOR, [VERSION_MAJOR])
     AC_SUBST(UNBOUND_VERSION_MINOR, [VERSION_MINOR])
     AC_SUBST(UNBOUND_VERSION_MICRO, [VERSION_MICRO])
     
     LIBUNBOUND_CURRENT=9
    -LIBUNBOUND_REVISION=3
    +LIBUNBOUND_REVISION=4
     LIBUNBOUND_AGE=1
     # 1.0.0 had 0:12:0
     # 1.0.1 had 0:13:0
    @@ -89,6 +89,7 @@ LIBUNBOUND_AGE=1
     # 1.9.1 had 9:1:1
     # 1.9.2 had 9:2:1
     # 1.9.3 had 9:3:1
    +# 1.9.4 had 9:4:1
     
     #   Current  -- the number of the binary API that we're implementing
     #   Revision -- which iteration of the implementation of the binary
    
  • util/data/msgparse.c+2 2 modified
    @@ -1061,18 +1061,18 @@ parse_edns_from_pkt(sldns_buffer* pkt, struct edns_data* edns,
     	size_t rdata_len;
     	uint8_t* rdata_ptr;
     	log_assert(LDNS_QDCOUNT(sldns_buffer_begin(pkt)) == 1);
    +	memset(edns, 0, sizeof(*edns));
     	if(LDNS_ANCOUNT(sldns_buffer_begin(pkt)) != 0 ||
     		LDNS_NSCOUNT(sldns_buffer_begin(pkt)) != 0) {
     		if(!skip_pkt_rrs(pkt, ((int)LDNS_ANCOUNT(sldns_buffer_begin(pkt)))+
     			((int)LDNS_NSCOUNT(sldns_buffer_begin(pkt)))))
    -			return 0;
    +			return LDNS_RCODE_FORMERR;
     	}
     	/* check edns section is present */
     	if(LDNS_ARCOUNT(sldns_buffer_begin(pkt)) > 1) {
     		return LDNS_RCODE_FORMERR;
     	}
     	if(LDNS_ARCOUNT(sldns_buffer_begin(pkt)) == 0) {
    -		memset(edns, 0, sizeof(*edns));
     		edns->udp_size = 512;
     		return 0;
     	}
    

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

7

News mentions

0

No linked articles in our index yet.