diff --git a/dnsmasq-2.89-edns0-size.patch b/dnsmasq-2.89-edns0-size.patch new file mode 100644 index 0000000..0d7ddd3 --- /dev/null +++ b/dnsmasq-2.89-edns0-size.patch @@ -0,0 +1,45 @@ +From 559357d267197602d591a8a075146ab35146dbc6 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Tue, 7 Mar 2023 22:07:46 +0000 +Subject: [PATCH] Set the default maximum DNS UDP packet size to 1232. + +http://www.dnsflagday.net/2020/ refers. + +Thanks to Xiang Li for the prompt. + +(cherry picked from commit eb92fb32b746f2104b0f370b5b295bb8dd4bd5e5) +--- + man/dnsmasq.8 | 3 ++- + src/config.h | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 9dd5430..8956f6d 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -183,7 +183,8 @@ to zero completely disables DNS function, leaving only DHCP and/or TFTP. + .TP + .B \-P, --edns-packet-max= + Specify the largest EDNS.0 UDP packet which is supported by the DNS +-forwarder. Defaults to 4096, which is the RFC5625-recommended size. ++forwarder. Defaults to 1232, which is the recommended size following the ++DNS flag day in 2020. Only increase if you know what you are doing. + .TP + .B \-Q, --query-port= + Send outbound DNS queries from, and listen for their replies on, the +diff --git a/src/config.h b/src/config.h +index 492c02f..f6d96db 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -19,7 +19,7 @@ + #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */ + #define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */ + #define TCP_BACKLOG 32 /* kernel backlog limit for TCP connections */ +-#define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */ ++#define EDNS_PKTSZ 1232 /* default max EDNS.0 UDP packet from from /dnsflagday.net/2020 */ + #define SAFE_PKTSZ 1232 /* "go anywhere" UDP packet size, see https://dnsflagday.net/2020/ */ + #define KEYBLOCK_LEN 40 /* choose to minimise fragmentation when storing DNSSEC keys */ + #define DNSSEC_WORK 50 /* Max number of queries to validate one question */ +-- +2.39.2 + diff --git a/dnsmasq.spec b/dnsmasq.spec index 2fa7831..b512a40 100644 --- a/dnsmasq.spec +++ b/dnsmasq.spec @@ -23,7 +23,7 @@ Name: dnsmasq Version: 2.89 -Release: 1%{?extraversion:.%{extraversion}}%{?dist} +Release: 2%{?extraversion:.%{extraversion}}%{?dist} Summary: A lightweight DHCP/caching DNS server # SPDX identifiers already @@ -45,6 +45,8 @@ Patch1: dnsmasq-2.77-underflow.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1852373 Patch2: dnsmasq-2.81-configuration.patch Patch3: dnsmasq-2.78-fips.patch +# https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;h=eb92fb32b746f2104b0f370b5b295bb8dd4bd5e5 +Patch4: dnsmasq-2.89-edns0-size.patch Requires: nettle @@ -212,6 +214,9 @@ install -Dpm 644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf %endif %changelog +* Mon Apr 03 2023 Petr Menšík - 2.89-2 +- Limit offered EDNS0 size 1232 (CVE-2023-28450) + * Mon Feb 13 2023 Petr Menšík - 2.89-1 - Update to 2.89 (#2167121)