Accepting request 903764 from GNOME:Next

- Add avahi-CVE-2021-3502.patch: fix NULL pointer crashes
  (boo#1184846 CVE-2021-3502).

OBS-URL: https://build.opensuse.org/request/show/903764
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/avahi?expand=0&rev=188
This commit is contained in:
Dominique Leuenberger 2021-07-05 13:36:28 +00:00 committed by Git OBS Bridge
parent f3def4aa60
commit 7f1c3b1897
6 changed files with 176 additions and 4 deletions

151
avahi-CVE-2021-3502.patch Normal file
View File

@ -0,0 +1,151 @@
From 9d31939e55280a733d930b15ac9e4dda4497680c Mon Sep 17 00:00:00 2001
From: Tommi Rantala <tommi.t.rantala@nokia.com>
Date: Mon, 8 Feb 2021 11:04:43 +0200
Subject: [PATCH] Fix NULL pointer crashes from #175
avahi-daemon is crashing when running "ping .local".
The crash is due to failing assertion from NULL pointer.
Add missing NULL pointer checks to fix it.
Introduced in #175 - merge commit 8f75a045709a780c8cf92a6a21e9d35b593bdecd
---
avahi-core/browse-dns-server.c | 5 ++++-
avahi-core/browse-domain.c | 5 ++++-
avahi-core/browse-service-type.c | 3 +++
avahi-core/browse-service.c | 3 +++
avahi-core/browse.c | 3 +++
avahi-core/resolve-address.c | 5 ++++-
avahi-core/resolve-host-name.c | 5 ++++-
avahi-core/resolve-service.c | 5 ++++-
8 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/avahi-core/browse-dns-server.c b/avahi-core/browse-dns-server.c
index 049752e..c2d914f 100644
--- a/avahi-core/browse-dns-server.c
+++ b/avahi-core/browse-dns-server.c
@@ -343,7 +343,10 @@ AvahiSDNSServerBrowser *avahi_s_dns_server_browser_new(
AvahiSDNSServerBrowser* b;
b = avahi_s_dns_server_browser_prepare(server, interface, protocol, domain, type, aprotocol, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_dns_server_browser_start(b);
return b;
-}
\ No newline at end of file
+}
diff --git a/avahi-core/browse-domain.c b/avahi-core/browse-domain.c
index f145d56..06fa70c 100644
--- a/avahi-core/browse-domain.c
+++ b/avahi-core/browse-domain.c
@@ -253,7 +253,10 @@ AvahiSDomainBrowser *avahi_s_domain_browser_new(
AvahiSDomainBrowser *b;
b = avahi_s_domain_browser_prepare(server, interface, protocol, domain, type, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_domain_browser_start(b);
return b;
-}
\ No newline at end of file
+}
diff --git a/avahi-core/browse-service-type.c b/avahi-core/browse-service-type.c
index fdd22dc..b1fc7af 100644
--- a/avahi-core/browse-service-type.c
+++ b/avahi-core/browse-service-type.c
@@ -171,6 +171,9 @@ AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new(
AvahiSServiceTypeBrowser *b;
b = avahi_s_service_type_browser_prepare(server, interface, protocol, domain, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_service_type_browser_start(b);
return b;
diff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c
index 5531360..63e0275 100644
--- a/avahi-core/browse-service.c
+++ b/avahi-core/browse-service.c
@@ -184,6 +184,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_new(
AvahiSServiceBrowser *b;
b = avahi_s_service_browser_prepare(server, interface, protocol, service_type, domain, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_service_browser_start(b);
return b;
diff --git a/avahi-core/browse.c b/avahi-core/browse.c
index 2941e57..e8a915e 100644
--- a/avahi-core/browse.c
+++ b/avahi-core/browse.c
@@ -634,6 +634,9 @@ AvahiSRecordBrowser *avahi_s_record_browser_new(
AvahiSRecordBrowser *b;
b = avahi_s_record_browser_prepare(server, interface, protocol, key, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_record_browser_start_query(b);
return b;
diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c
index ac0b29b..e61dd24 100644
--- a/avahi-core/resolve-address.c
+++ b/avahi-core/resolve-address.c
@@ -286,7 +286,10 @@ AvahiSAddressResolver *avahi_s_address_resolver_new(
AvahiSAddressResolver *b;
b = avahi_s_address_resolver_prepare(server, interface, protocol, address, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_address_resolver_start(b);
return b;
-}
\ No newline at end of file
+}
diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c
index 808b0e7..4e8e597 100644
--- a/avahi-core/resolve-host-name.c
+++ b/avahi-core/resolve-host-name.c
@@ -318,7 +318,10 @@ AvahiSHostNameResolver *avahi_s_host_name_resolver_new(
AvahiSHostNameResolver *b;
b = avahi_s_host_name_resolver_prepare(server, interface, protocol, host_name, aprotocol, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_host_name_resolver_start(b);
return b;
-}
\ No newline at end of file
+}
diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c
index 66bf3ca..4377176 100644
--- a/avahi-core/resolve-service.c
+++ b/avahi-core/resolve-service.c
@@ -519,7 +519,10 @@ AvahiSServiceResolver *avahi_s_service_resolver_new(
AvahiSServiceResolver *b;
b = avahi_s_service_resolver_prepare(server, interface, protocol, name, type, domain, aprotocol, flags, callback, userdata);
+ if (!b)
+ return NULL;
+
avahi_s_service_resolver_start(b);
return b;
-}
\ No newline at end of file
+}
--
2.32.0

View File

@ -79,6 +79,8 @@ Patch19: avahi-0.6.32-suppress-resolv-conf-warning.patch
Patch20: add-IT_PROG_INTLTOOL.patch Patch20: add-IT_PROG_INTLTOOL.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work. # PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work.
Patch21: avahi-CVE-2021-3468.patch Patch21: avahi-CVE-2021-3468.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3502.patch boo#1184846 mgorse@suse.com -- fix NULL pointer crashes.
Patch22: avahi-CVE-2021-3502.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdbm-devel BuildRequires: gdbm-devel
@ -319,6 +321,7 @@ Requires: glibc-devel
Requires: libavahi-client%{avahi_client_sover} = %{version} Requires: libavahi-client%{avahi_client_sover} = %{version}
Requires: libavahi-common%{avahi_common_sover} = %{version} Requires: libavahi-common%{avahi_common_sover} = %{version}
Requires: libavahi-core%{avahi_core_sover} = %{version} Requires: libavahi-core%{avahi_core_sover} = %{version}
Requires: libavahi-libevent%{avahi_libevent_sover} = %{version}
# Last appeared in OpenSUSE 10.3: # Last appeared in OpenSUSE 10.3:
Provides: avahi-devel = %{version} Provides: avahi-devel = %{version}
Obsoletes: avahi-devel < %{version} Obsoletes: avahi-devel < %{version}
@ -406,8 +409,8 @@ Obsoletes: avahi-glib2-utils-gtk < %{version}
Avahi is an implementation of the DNS Service Discovery and Multicast Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. DNS specifications for Zeroconf Computing.
# This is the avahi-discover command, only provided for the primary python3 flavor
# This is the avahi-discover command, only provided for the primary python3 flavor
%package -n python3-avahi-gtk %package -n python3-avahi-gtk
Summary: A set of Avahi utilities written in Python Using python-gtk Summary: A set of Avahi utilities written in Python Using python-gtk
Group: Development/Languages/Python Group: Development/Languages/Python
@ -519,6 +522,7 @@ translation-update-upstream
%patch19 -p1 %patch19 -p1
%patch20 -p1 %patch20 -p1
%patch21 -p1 %patch21 -p1
%patch22 -p1
%if !%{build_core} %if !%{build_core}
# Replace all .la references from local .la files to installed versions # Replace all .la references from local .la files to installed versions

View File

@ -79,6 +79,8 @@ Patch19: avahi-0.6.32-suppress-resolv-conf-warning.patch
Patch20: add-IT_PROG_INTLTOOL.patch Patch20: add-IT_PROG_INTLTOOL.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work. # PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work.
Patch21: avahi-CVE-2021-3468.patch Patch21: avahi-CVE-2021-3468.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3502.patch boo#1184846 mgorse@suse.com -- fix NULL pointer crashes.
Patch22: avahi-CVE-2021-3502.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdbm-devel BuildRequires: gdbm-devel
@ -318,6 +320,7 @@ Requires: glibc-devel
Requires: libavahi-client%{avahi_client_sover} = %{version} Requires: libavahi-client%{avahi_client_sover} = %{version}
Requires: libavahi-common%{avahi_common_sover} = %{version} Requires: libavahi-common%{avahi_common_sover} = %{version}
Requires: libavahi-core%{avahi_core_sover} = %{version} Requires: libavahi-core%{avahi_core_sover} = %{version}
Requires: libavahi-libevent%{avahi_libevent_sover} = %{version}
# Last appeared in OpenSUSE 10.3: # Last appeared in OpenSUSE 10.3:
Provides: avahi-devel = %{version} Provides: avahi-devel = %{version}
Obsoletes: avahi-devel < %{version} Obsoletes: avahi-devel < %{version}
@ -405,8 +408,8 @@ Obsoletes: avahi-glib2-utils-gtk < %{version}
Avahi is an implementation of the DNS Service Discovery and Multicast Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. DNS specifications for Zeroconf Computing.
# This is the avahi-discover command, only provided for the primary python3 flavor
# This is the avahi-discover command, only provided for the primary python3 flavor
%package -n python3-avahi-gtk %package -n python3-avahi-gtk
Summary: A set of Avahi utilities written in Python Using python-gtk Summary: A set of Avahi utilities written in Python Using python-gtk
Group: Development/Languages/Python Group: Development/Languages/Python
@ -518,6 +521,7 @@ translation-update-upstream
%patch19 -p1 %patch19 -p1
%patch20 -p1 %patch20 -p1
%patch21 -p1 %patch21 -p1
%patch22 -p1
%if !%{build_core} %if !%{build_core}
# Replace all .la references from local .la files to installed versions # Replace all .la references from local .la files to installed versions

View File

@ -79,6 +79,8 @@ Patch19: avahi-0.6.32-suppress-resolv-conf-warning.patch
Patch20: add-IT_PROG_INTLTOOL.patch Patch20: add-IT_PROG_INTLTOOL.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work. # PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work.
Patch21: avahi-CVE-2021-3468.patch Patch21: avahi-CVE-2021-3468.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3502.patch boo#1184846 mgorse@suse.com -- fix NULL pointer crashes.
Patch22: avahi-CVE-2021-3502.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdbm-devel BuildRequires: gdbm-devel
@ -319,6 +321,7 @@ Requires: glibc-devel
Requires: libavahi-client%{avahi_client_sover} = %{version} Requires: libavahi-client%{avahi_client_sover} = %{version}
Requires: libavahi-common%{avahi_common_sover} = %{version} Requires: libavahi-common%{avahi_common_sover} = %{version}
Requires: libavahi-core%{avahi_core_sover} = %{version} Requires: libavahi-core%{avahi_core_sover} = %{version}
Requires: libavahi-libevent%{avahi_libevent_sover} = %{version}
# Last appeared in OpenSUSE 10.3: # Last appeared in OpenSUSE 10.3:
Provides: avahi-devel = %{version} Provides: avahi-devel = %{version}
Obsoletes: avahi-devel < %{version} Obsoletes: avahi-devel < %{version}
@ -406,8 +409,8 @@ Obsoletes: avahi-glib2-utils-gtk < %{version}
Avahi is an implementation of the DNS Service Discovery and Multicast Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. DNS specifications for Zeroconf Computing.
# This is the avahi-discover command, only provided for the primary python3 flavor
# This is the avahi-discover command, only provided for the primary python3 flavor
%package -n python3-avahi-gtk %package -n python3-avahi-gtk
Summary: A set of Avahi utilities written in Python Using python-gtk Summary: A set of Avahi utilities written in Python Using python-gtk
Group: Development/Languages/Python Group: Development/Languages/Python
@ -519,6 +522,7 @@ translation-update-upstream
%patch19 -p1 %patch19 -p1
%patch20 -p1 %patch20 -p1
%patch21 -p1 %patch21 -p1
%patch22 -p1
%if !%{build_core} %if !%{build_core}
# Replace all .la references from local .la files to installed versions # Replace all .la references from local .la files to installed versions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Jul 2 17:40:20 UTC 2021 - Michael Gorse <mgorse@suse.com>
- Add avahi-CVE-2021-3502.patch: fix NULL pointer crashes
(boo#1184846 CVE-2021-3502).
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jun 2 09:37:12 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr> Wed Jun 2 09:37:12 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>

View File

@ -81,6 +81,8 @@ Patch19: avahi-0.6.32-suppress-resolv-conf-warning.patch
Patch20: add-IT_PROG_INTLTOOL.patch Patch20: add-IT_PROG_INTLTOOL.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work. # PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work.
Patch21: avahi-CVE-2021-3468.patch Patch21: avahi-CVE-2021-3468.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3502.patch boo#1184846 mgorse@suse.com -- fix NULL pointer crashes.
Patch22: avahi-CVE-2021-3502.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gdbm-devel BuildRequires: gdbm-devel
@ -409,8 +411,8 @@ Obsoletes: avahi-glib2-utils-gtk < %{version}
Avahi is an implementation of the DNS Service Discovery and Multicast Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. DNS specifications for Zeroconf Computing.
# This is the avahi-discover command, only provided for the primary python3 flavor
# This is the avahi-discover command, only provided for the primary python3 flavor
%package -n python3-avahi-gtk %package -n python3-avahi-gtk
Summary: A set of Avahi utilities written in Python Using python-gtk Summary: A set of Avahi utilities written in Python Using python-gtk
Group: Development/Languages/Python Group: Development/Languages/Python
@ -515,6 +517,7 @@ translation-update-upstream
%patch19 -p1 %patch19 -p1
%patch20 -p1 %patch20 -p1
%patch21 -p1 %patch21 -p1
%patch22 -p1
%if !%{build_core} %if !%{build_core}
# Replace all .la references from local .la files to installed versions # Replace all .la references from local .la files to installed versions