]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix CVE-2026-55708, Privacy/configuration issue when adding local
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 22 Jul 2026 08:17:10 +0000 (10:17 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 22 Jul 2026 08:17:10 +0000 (10:17 +0200)
  data in views through 'unbound-control'. Thanks to Qifan Zhang,
  Palo Alto Networks, for the report.

daemon/remote.c

index 1eaf90016b88b862467bedc2ba13c16fa67382ff..61beb7c2fa691eb6c2f07ee8df6eea8b9cf051af 100644 (file)
@@ -1658,6 +1658,14 @@ do_view_data_add(RES* ssl, struct worker* worker, char* arg)
                        ssl_printf(ssl,"error out of memory\n");
                        return;
                }
+               if(!v->isfirst) {
+                       /* Global local-zone is not used for this view,
+                        * therefore add defaults to this view-specific
+                        * local-zone. */
+                       struct config_file lz_cfg;
+                       memset(&lz_cfg, 0, sizeof(lz_cfg));
+                       local_zone_enter_defaults(v->local_zones, &lz_cfg);
+               }
        }
        do_data_add(ssl, v->local_zones, arg2);
        lock_rw_unlock(&v->lock);
@@ -1683,6 +1691,14 @@ do_view_datas_add(struct daemon_remote* rc, RES* ssl, struct worker* worker,
                        ssl_printf(ssl,"error out of memory\n");
                        return;
                }
+               if(!v->isfirst) {
+                       /* Global local-zone is not used for this view,
+                        * therefore add defaults to this view-specific
+                        * local-zone. */
+                       struct config_file lz_cfg;
+                       memset(&lz_cfg, 0, sizeof(lz_cfg));
+                       local_zone_enter_defaults(v->local_zones, &lz_cfg);
+               }
        }
        /* put the view name in the command buf */
        (void)snprintf(buf+strlen(buf), sizeof(buf)-strlen(buf), "%s ", arg);