File unbound-1.20-CVE-2025-11411.patch of Package unbound.41604

commit f849f83f2183641d3c75c4bba69546f21d54ff87
Author: Jorik Cronenberg <jorik.cronenberg@suse.com>
Date:   Wed Nov 12 15:12:51 2025 +0100

    [1.20] [CVE-2025-11411]

diff --git a/iterator/iter_scrub.c b/iterator/iter_scrub.c
index 48867e50c..5beaa0484 100644
--- a/iterator/iter_scrub.c
+++ b/iterator/iter_scrub.c
@@ -571,6 +571,22 @@ scrub_normalize(sldns_buffer* pkt, struct msg_parse* msg,
 					"RRset:", pkt, msg, prev, &rrset);
 				continue;
 			}
+			/* If the NS set is a promiscuous NS set, scrub that
+			 * to remove potential for poisonous contents that
+			 * affects other names in the same zone. Remove
+			 * promiscuous NS sets in positive answers, that
+			 * thus have records in the answer section. Nodata
+			 * and nxdomain promiscuous NS sets have been removed
+			 * already. Since the NS rrset is scrubbed, its
+			 * address records are also not marked to be allowed
+			 * and are removed later. */
+			if(FLAGS_GET_RCODE(msg->flags) == LDNS_RCODE_NOERROR &&
+				msg->an_rrsets != 0 &&
+				1 /* env->cfg->iter_scrub_promiscuous */) {
+				remove_rrset("normalize: removing promiscuous "
+					"RRset:", pkt, msg, prev, &rrset);
+				continue;
+			}
 			if(nsset == NULL) {
 				nsset = rrset;
 			} else {
openSUSE Build Service is sponsored by