Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dnsmasq for openSUSE:Factory checked in at 2026-04-23 17:05:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dnsmasq (Old) and /work/SRC/openSUSE:Factory/.dnsmasq.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dnsmasq" Thu Apr 23 17:05:25 2026 rev:105 rq:1348772 version:2.92 Changes: -------- --- /work/SRC/openSUSE:Factory/dnsmasq/dnsmasq.changes 2026-03-27 06:38:16.606206921 +0100 +++ /work/SRC/openSUSE:Factory/.dnsmasq.new.11940/dnsmasq.changes 2026-04-23 17:09:20.836440201 +0200 @@ -1,0 +2,14 @@ +Wed Apr 22 12:09:45 UTC 2026 - Reinhard Max <[email protected]> + +- bsc#1262487, CVE-2026-6507, dnsmasq-CVE-2026-6507.patch: + out-of-bounds write in DHCP BOOTREPLY processing can lead to + denial of service. + +------------------------------------------------------------------- +Mon Apr 20 08:22:10 UTC 2026 - Pedro Monreal <[email protected]> + +- Fix FTBFS with libnettle 4.0: (boo#1257934) + * dnsmasq: missed hash->digest calls in 4070a74 (1eab169) + * Add dnsmasq-Fix-FTBFS-nettle-4.0.patch and merge 4070a748.patch + +------------------------------------------------------------------- Old: ---- 4070a748.patch New: ---- dnsmasq-CVE-2026-6507.patch dnsmasq-Fix-FTBFS-nettle-4.0.patch ----------(Old B)---------- Old: * dnsmasq: missed hash->digest calls in 4070a74 (1eab169) * Add dnsmasq-Fix-FTBFS-nettle-4.0.patch and merge 4070a748.patch ----------(Old E)---------- ----------(New B)---------- New: - bsc#1262487, CVE-2026-6507, dnsmasq-CVE-2026-6507.patch: out-of-bounds write in DHCP BOOTREPLY processing can lead to New: * dnsmasq: missed hash->digest calls in 4070a74 (1eab169) * Add dnsmasq-Fix-FTBFS-nettle-4.0.patch and merge 4070a748.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dnsmasq.spec ++++++ --- /var/tmp/diff_new_pack.k9cg3n/_old 2026-04-23 17:09:21.588471142 +0200 +++ /var/tmp/diff_new_pack.k9cg3n/_new 2026-04-23 17:09:21.592471307 +0200 @@ -40,7 +40,9 @@ Source5: rc.dnsmasq-suse Source6: system-user-dnsmasq.conf Patch0: dnsmasq-groups.patch -Patch1: 4070a748.patch +#PATCH-FIX-UPSTREAM bsc#1257934 FTBFS with libnettle 4.0 update +Patch1: dnsmasq-Fix-FTBFS-nettle-4.0.patch +Patch2: dnsmasq-CVE-2026-6507.patch BuildRequires: dbus-1-devel BuildRequires: dos2unix BuildRequires: libnettle-devel ++++++ dnsmasq-CVE-2026-6507.patch ++++++ >From 9ad74926d4f7f34ff902e1db5235535aa813c33f Mon Sep 17 00:00:00 2001 From: Simon Kelley <[email protected]> Date: Mon, 6 Apr 2026 22:22:43 +0100 Subject: [PATCH] Fix 1-byte buffer overflow in relay_reply4() Potential SIGSEGV when using DHCPv4-relay. Thanks to Asim Viladi Oglu Manizada for finding this. --- src/rfc2131.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git src/rfc2131.c b/src/rfc2131.c index 7bdfefd..55aad03 100644 --- src/rfc2131.c +++ src/rfc2131.c @@ -3248,7 +3248,7 @@ unsigned int relay_reply4(struct dhcp_packet *mess, size_t sz, char *arrival_int /* delete agent info before return RFC 3046 para 2.1 */ *opt = OPTION_END; - memset(opt + 1, 0, option_len(opt) + 2); + memset(opt + 1, 0, option_len(opt) + 1); } } else if (mess->giaddr.s_addr == relay->local.addr4.s_addr) -- 2.20.1 ++++++ dnsmasq-Fix-FTBFS-nettle-4.0.patch ++++++ >From 4070a74862c3c956a676d2b931ff186e14f5d9f5 Mon Sep 17 00:00:00 2001 From: Simon Kelley <[email protected]> Date: Sun, 1 Mar 2026 12:01:12 +0000 Subject: [PATCH] Fix FTBFS with nettle 4.0. Thanks to Andreas Metzler for the heads-up. --- src/crypto.c | 23 ++++++++++++++++++++++- src/dnsmasq.h | 1 + src/dnssec.c | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git src/crypto.c src/crypto.c index 92de2d99..002aae3e 100644 --- src/crypto.c +++ src/crypto.c @@ -93,7 +93,15 @@ static void null_hash_update(void *ctxv, size_t length, const uint8_t *src) memcpy(null_hash_buff + ctx->len, src, length); ctx->len += length; } - + +/* The prototype changes in nettle 4.0 to omit the length argument */ +#if MIN_VERSION(4, 0) +static void null_hash_digest(void *ctx, uint8_t *dst) +{ + ((struct null_hash_digest *)dst)->buff = null_hash_buff; + ((struct null_hash_digest *)dst)->len = ((struct null_hash_ctx *)ctx)->len; +} +#else static void null_hash_digest(void *ctx, size_t length, uint8_t *dst) { (void)length; @@ -101,6 +109,7 @@ static void null_hash_digest(void *ctx, size_t length, uint8_t *dst) ((struct null_hash_digest *)dst)->buff = null_hash_buff; ((struct null_hash_digest *)dst)->len = ((struct null_hash_ctx *)ctx)->len; } +#endif static struct nettle_hash null_hash = { "null_hash", @@ -501,4 +510,16 @@ const struct nettle_hash *hash_find(char *name) #endif } +/* The prototype changes in nettle 4.0 to omit the length argument */ +void nettle_digest_wrapper(const struct nettle_hash *hash, void *ctx, size_t length, uint8_t *dst) +{ +#if MIN_VERSION(4, 0) + (void)length; + hash->digest(ctx, dst); +#else + hash->digest(ctx, length, dst); +#endif +} + + #endif /* defined(HAVE_DNSSEC) */ diff --git src/dnsmasq.h src/dnsmasq.h index 510c88fa..c5b08875 100644 --- src/dnsmasq.h +++ src/dnsmasq.h @@ -1489,6 +1489,7 @@ int verify(struct blockdata *key_data, unsigned int key_len, unsigned char *sig, char *ds_digest_name(int digest); char *algo_digest_name(int algo); char *nsec3_digest_name(int digest); +void nettle_digest_wrapper(const struct nettle_hash *hash, void *ctx, size_t length, uint8_t *dst); /* util.c */ void rand_init(void); diff --git src/dnssec.c src/dnssec.c index 856d7927..fddde770 100644 --- src/dnssec.c +++ src/dnssec.c @@ -656,7 +656,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in } } - hash->digest(ctx, hash->digest_size, digest); + nettle_digest_wrapper(hash, ctx, hash->digest_size, digest); /* namebuff used for workspace above, restore to leave unchanged on exit */ p = (unsigned char*)(rrset[0]); >From 1eab169173fc4c8579a3db61186096fe117e6aca Mon Sep 17 00:00:00 2001 From: Simon Kelley <[email protected]> Date: Sun, 1 Mar 2026 12:33:38 +0000 Subject: [PATCH] Fix missed hash->digest calls in 4070a74862c3c956a676d2b931ff186e14f5d9f5 --- src/dnssec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git src/dnssec.c src/dnssec.c index fddde770..66b62bfc 100644 --- src/dnssec.c +++ src/dnssec.c @@ -836,7 +836,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch rather then O(keys x DSs) */ hash->update(ctx, (unsigned int)wire_len, (unsigned char *)name); hash->update(ctx, (unsigned int)rdlen, psave); - hash->digest(ctx, hash->digest_size, digest); + nettle_digest_wrapper(hash, ctx, hash->digest_size, digest); from_wire(name); @@ -1385,13 +1385,13 @@ static int hash_name(char *in, unsigned char **out, struct nettle_hash const *ha hash->update(ctx, to_wire(in), (unsigned char *)in); hash->update(ctx, salt_len, salt); - hash->digest(ctx, hash->digest_size, digest); + nettle_digest_wrapper(hash, ctx, hash->digest_size, digest); for(i = 0; i < iterations; i++) { hash->update(ctx, hash->digest_size, digest); hash->update(ctx, salt_len, salt); - hash->digest(ctx, hash->digest_size, digest); + nettle_digest_wrapper(hash, ctx, hash->digest_size, digest); } from_wire(in);
