diff -u dnsmasq-2.79/debian/changelog dnsmasq-2.79/debian/changelog --- dnsmasq-2.79/debian/changelog +++ dnsmasq-2.79/debian/changelog @@ -1,8 +1,20 @@ -dnsmasq (2.79-1ubuntu0.6~cloud0) xenial-queens; urgency=medium +dnsmasq (2.79-1ubuntu0.7~cloud0) xenial-queens; urgency=medium * New update for the Ubuntu Cloud Archive. - -- Openstack Ubuntu Testing Bot Wed, 11 May 2022 04:30:14 +0000 + -- Openstack Ubuntu Testing Bot Fri, 21 Apr 2023 04:28:12 +0000 + +dnsmasq (2.79-1ubuntu0.7) bionic-security; urgency=medium + + * SECURITY UPDATE: IP fragmentation + - src/config.h: update default max EDNS_PKTSZ to 1232 as agreed on + dnsflagday 2020. + - man/dnsmasq.8: updating documentation to reflect new default max + EDNS_PKTSZ. + - eb92fb32b746f2104b0f370b5b295bb8dd4bd5e5 + - CVE-2023-28450 + + -- Ian Constantin Tue, 18 Apr 2023 11:21:55 +0300 dnsmasq (2.79-1ubuntu0.6) bionic-security; urgency=medium diff -u dnsmasq-2.79/man/dnsmasq.8 dnsmasq-2.79/man/dnsmasq.8 --- dnsmasq-2.79/man/dnsmasq.8 +++ dnsmasq-2.79/man/dnsmasq.8 @@ -168,7 +168,8 @@ .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 -u dnsmasq-2.79/src/config.h dnsmasq-2.79/src/config.h --- dnsmasq-2.79/src/config.h +++ dnsmasq-2.79/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 1280 /* "go anywhere" UDP packet size */ #define KEYBLOCK_LEN 40 /* choose to minimise fragmentation when storing DNSSEC keys */ #define DNSSEC_WORK 50 /* Max number of queries to validate one question */ only in patch2: unchanged: --- dnsmasq-2.79.orig/man/dnsmasq.8.orig +++ dnsmasq-2.79/man/dnsmasq.8.orig @@ -0,0 +1,2394 @@ +.TH DNSMASQ 8 +.SH NAME +dnsmasq \- A lightweight DHCP and caching DNS server. +.SH SYNOPSIS +.B dnsmasq +.I [OPTION]... +.SH "DESCRIPTION" +.BR dnsmasq +is a lightweight DNS, TFTP, PXE, router advertisement and DHCP server. It is intended to provide +coupled DNS and DHCP service to a LAN. +.PP +Dnsmasq accepts DNS queries and either answers them from a small, local, +cache or forwards them to a real, recursive, DNS server. It loads the +contents of /etc/hosts so that local hostnames +which do not appear in the global DNS can be resolved and also answers +DNS queries for DHCP configured hosts. It can also act as the +authoritative DNS server for one or more domains, allowing local names +to appear in the global DNS. It can be configured to do DNSSEC +validation. +.PP +The dnsmasq DHCP server supports static address assignments and multiple +networks. It automatically +sends a sensible default set of DHCP options, and can be configured to +send any desired set of DHCP options, including vendor-encapsulated +options. It includes a secure, read-only, +TFTP server to allow net/PXE boot of DHCP hosts and also supports BOOTP. The PXE support is full featured, and includes a proxy mode which supplies PXE information to clients whilst DHCP address allocation is done by another server. +.PP +The dnsmasq DHCPv6 server provides the same set of features as the +DHCPv4 server, and in addition, it includes router advertisements and +a neat feature which allows nameing for clients which use DHCPv4 and +stateless autoconfiguration only for IPv6 configuration. There is support for doing address allocation (both DHCPv6 and RA) from subnets which are dynamically delegated via DHCPv6 prefix delegation. +.PP +Dnsmasq is coded with small embedded systems in mind. It aims for the smallest possible memory footprint compatible with the supported functions, and allows unneeded functions to be omitted from the compiled binary. +.SH OPTIONS +Note that in general missing parameters are allowed and switch off +functions, for instance "--pid-file" disables writing a PID file. On +BSD, unless the GNU getopt library is linked, the long form of the +options does not work on the command line; it is still recognised in +the configuration file. +.TP +.B --test +Read and syntax check configuration file(s). Exit with code 0 if all +is OK, or a non-zero code otherwise. Do not start up dnsmasq. +.TP +.B \-w, --help +Display all command-line options. +.B --help dhcp +will display known DHCPv4 configuration options, and +.B --help dhcp6 +will display DHCPv6 options. +.TP +.B \-h, --no-hosts +Don't read the hostnames in /etc/hosts. +.TP +.B \-H, --addn-hosts= +Additional hosts file. Read the specified file as well as /etc/hosts. If -h is given, read +only the specified file. This option may be repeated for more than one +additional hosts file. If a directory is given, then read all the files contained in that directory. +.TP +.B --hostsdir= +Read all the hosts files contained in the directory. New or changed files +are read automatically. See --dhcp-hostsdir for details. +.TP +.B \-E, --expand-hosts +Add the domain to simple names (without a period) in /etc/hosts +in the same way as for DHCP-derived names. Note that this does not +apply to domain names in cnames, PTR records, TXT records etc. +.TP +.B \-T, --local-ttl=