1 Commits

Author SHA256 Message Date
bf62461780 Build with Qt6, disable building with Qt5 in SLE16, fix for
CVE-2024-52615, bsc#1233421

This is a migration of https://build.suse.de/request/show/385109 with
an added fix from Factory
2025-10-01 17:19:03 +02:00
5 changed files with 1 additions and 148 deletions

View File

@@ -1,63 +0,0 @@
From 2d48e42d44a183f26a4d12d1f5d41abb9b7c6355 Mon Sep 17 00:00:00 2001
From: Evgeny Vereshchagin <evvers@ya.ru>
Date: Wed, 17 Dec 2025 08:11:23 +0000
Subject: [PATCH] core: refuse to create wide-area record browsers when
wide-area is off
It fixes a bug where it was possible for unprivileged local users to
crash avahi-daemon (with wide-area disabled) by creating record browsers
with the AVAHI_LOOKUP_USE_WIDE_AREA flag set via D-Bus (either by calling
the RecordBrowserNew method directly or by creating hostname/address/service
resolvers/browsers that create those browsers internally themselves).
```
$ gdbus call --system --dest org.freedesktop.Avahi --object-path / --method org.freedesktop.Avahi.Server.ResolveHostName -- -1 -1 yo.local -1 1
Error: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
```
```
dbus-protocol.c: interface=org.freedesktop.Avahi.Server, path=/, member=ResolveHostName
avahi-daemon: wide-area.c:725: avahi_wide_area_scan_cache: Assertion `e' failed.
==307948==
==307948== Process terminating with default action of signal 6 (SIGABRT)
==307948== at 0x4B3630C: __pthread_kill_implementation (pthread_kill.c:44)
==307948== by 0x4ADF921: raise (raise.c:26)
==307948== by 0x4AC74AB: abort (abort.c:77)
==307948== by 0x4AC741F: __assert_fail_base.cold (assert.c:118)
==307948== by 0x48D8B85: avahi_wide_area_scan_cache (wide-area.c:725)
==307948== by 0x48C8953: lookup_scan_cache (browse.c:351)
==307948== by 0x48C8B1B: lookup_go (browse.c:386)
==307948== by 0x48C9148: defer_callback (browse.c:516)
==307948== by 0x48AEA0E: expiration_event (timeeventq.c:94)
==307948== by 0x489D3AE: timeout_callback (simple-watch.c:447)
==307948== by 0x489D787: avahi_simple_poll_dispatch (simple-watch.c:563)
==307948== by 0x489D91E: avahi_simple_poll_iterate (simple-watch.c:605)
==307948==
```
wide-area has been disabled by default since
9c4214146738146e454f098264690e8e884c39bd (v0.9-rc2).
https://github.com/avahi/avahi/security/advisories/GHSA-mhf3-865v-g5rc
---
avahi-core/browse.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/avahi-core/browse.c b/avahi-core/browse.c
index 0afeba7..d7d541b 100644
--- a/avahi-core/browse.c
+++ b/avahi-core/browse.c
@@ -583,6 +583,11 @@ AvahiSRecordBrowser *avahi_s_record_browser_prepare(
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_FLAGS_VALID(flags, AVAHI_LOOKUP_USE_WIDE_AREA|AVAHI_LOOKUP_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS);
AVAHI_CHECK_VALIDITY_RETURN_NULL(server, !(flags & AVAHI_LOOKUP_USE_WIDE_AREA) || !(flags & AVAHI_LOOKUP_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS);
+ if ((flags & AVAHI_LOOKUP_USE_WIDE_AREA) && !server->wide_area_lookup_engine) {
+ avahi_server_set_errno(server, AVAHI_ERR_NOT_SUPPORTED);
+ return NULL;
+ }
+
if (!(b = avahi_new(AvahiSRecordBrowser, 1))) {
avahi_server_set_errno(server, AVAHI_ERR_NO_MEMORY);
return NULL;
--
2.49.0

View File

@@ -1,25 +0,0 @@
From f66be13d7f31a3ef806d226bf8b67240179d309a Mon Sep 17 00:00:00 2001
From: Hugo Muis <198191869+friendlyhugo@users.noreply.github.com>
Date: Sun, 2 Mar 2025 18:06:24 +0100
Subject: [PATCH] core: fix DoS bug by removing incorrect assertion
Closes https://github.com/avahi/avahi/issues/683
---
avahi-core/browse.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/avahi-core/browse.c b/avahi-core/browse.c
index e00cbed..0afeba7 100644
--- a/avahi-core/browse.c
+++ b/avahi-core/browse.c
@@ -295,7 +295,6 @@ static void lookup_multicast_callback(
lookup_drop_cname(l, interface, protocol, 0, r);
else {
/* It's a normal record, so let's call the user callback */
- assert(avahi_key_equal(b->key, l->key));
b->callback(b, interface, protocol, event, r, flags, b->userdata);
}
--
2.49.0

View File

@@ -1,29 +0,0 @@
From 9c6eb53bf2e290aed84b1f207e3ce35c54cc0aa1 Mon Sep 17 00:00:00 2001
From: Hugo Muis <198191869+friendlyhugo@users.noreply.github.com>
Date: Sun, 2 Mar 2025 18:06:24 +0100
Subject: [PATCH] core: fix DoS bug by changing assert to return
Closes https://github.com/avahi/avahi/issues/678
---
avahi-core/browse.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/avahi-core/browse.c b/avahi-core/browse.c
index e8a915e..ad08bd6 100644
--- a/avahi-core/browse.c
+++ b/avahi-core/browse.c
@@ -320,7 +320,10 @@ static int lookup_start(AvahiSRBLookup *l) {
assert(l);
assert(!(l->flags & AVAHI_LOOKUP_USE_WIDE_AREA) != !(l->flags & AVAHI_LOOKUP_USE_MULTICAST));
- assert(!l->wide_area && !l->multicast);
+ if (l->wide_area || l->multicast) {
+ /* Avoid starting a duplicate lookup */
+ return 0;
+ }
if (l->flags & AVAHI_LOOKUP_USE_WIDE_AREA) {
--
2.49.0

View File

@@ -1,27 +1,3 @@
-------------------------------------------------------------------
Tue Jan 13 04:23:18 UTC 2026 - Cliff Zhao <qzhao@suse.com>
- Add avahi-CVE-2025-68276.patch:
Backport 0c013e2 from upstream, refuse to create wide-area record
browsers when wide-area is off.
(CVE-2025-68276, bsc#1256498)
-------------------------------------------------------------------
Tue Jan 13 04:23:18 UTC 2026 - Cliff Zhao <qzhao@suse.com>
- Add avahi-CVE-2025-68471.patch:
Backport 9c6eb53 from upstream, fix DoS bug by changing assert to
return.
(CVE-2025-68471, bsc#1256500)
-------------------------------------------------------------------
Tue Jan 13 04:23:18 UTC 2026 - Cliff Zhao <qzhao@suse.com>
- Add avahi-CVE-2025-68468.patch:
Backport f66be13 from upstream, fix DoS bug by removing incorrect
assertion.
(CVE-2025-68468, bsc#1256499)
-------------------------------------------------------------------
Mon Sep 15 14:32:04 UTC 2025 - Cliff Zhao <qzhao@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package avahi
#
# Copyright (c) 2026 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -135,12 +135,6 @@ Patch37: avahi-CVE-2024-52616.patch
Patch38: 0001-Enable-building-with-Qt6.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2024-52615.patch CVE-2024-52615 bsc#1233421 qzhao@suse.com -- Resolve fixed source ports for wide-area DNS queries cause DNS responses be injected.
Patch39: avahi-CVE-2024-52615.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2025-68468.patch CVE-2025-68468 bsc#1256499 qzhao@suse.com -- fix DoS bug by removing incorrect assertion.
Patch40: avahi-CVE-2025-68468.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2025-68471.patch CVE-2025-68471 bsc#1256500 qzhao@suse.com -- fix DoS bug by changing assert to return.
Patch41: avahi-CVE-2025-68471.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2025-68276.patch CVE-2025-68276 bsc#1256498 qzhao@suse.com -- refuse to create wide-area record browsers when wide-area is off.
Patch42: avahi-CVE-2025-68276.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gdbm-devel