]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix CVE-2026-44390, Unbounded name compression in certain cases
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 20 May 2026 08:21:26 +0000 (10:21 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 20 May 2026 08:21:26 +0000 (10:21 +0200)
  causes degradation of service. Thanks to Qifan Zhang, Palo Alto
  Networks, for the report.

util/data/msgencode.c

index 10979df9c7e5f71a159b9de428631cc4fdcb8346..dd56cc6aad6709fa973d7b159b32fc9d26292702 100644 (file)
@@ -352,7 +352,6 @@ compress_any_dname(uint8_t* dname, sldns_buffer* pkt, int labs,
                (p = compress_tree_lookup(tree, dname, labs, &insertpt))) {
                if(!write_compressed_dname(pkt, dname, labs, p))
                        return RETVAL_TRUNC;
-               (*compress_count)++;
        } else {
                if(!dname_buffer_write(pkt, dname))
                        return RETVAL_TRUNC;
@@ -360,6 +359,7 @@ compress_any_dname(uint8_t* dname, sldns_buffer* pkt, int labs,
        if(*compress_count < MAX_COMPRESSION_PER_MESSAGE &&
                !compress_tree_store(dname, labs, pos, region, p, insertpt))
                return RETVAL_OUTMEM;
+       (*compress_count)++;
        return RETVAL_OK;
 }