When receiving a query, dnsmasq does not check if there is already a pending request for the same name and it forwards a new request for it. By default a maximum of 150 pending queries can be sent to upstream servers, so there can be at most 150 queries for the same name. An attacker on the network can abuse this issue to substantially reduce the number of attempts he would have to perform to forge a reply and get it accepted by dnsmasq. This is mentioned in the "Birthday Attacks" section of RFC5452.
OSD3 services are using dnsmasq shipped directly by RHEL7, each node has its own dnsmasq
Red Hat Enterprise Linux 5, 6, 7, and 8 are all affected in the same way and the same mitigations apply.
Mitigation: The impact of this flaw can be reduced by disabling the dnsmasq cache by adding `--cache-size=0` when calling dnsmasq or by adding a line with `cache-size=0` to the dnsmasq configuration file (/etc/dnsmasq.conf by default). When using Red Hat Enterprise Linux 8.3 with libvirt through a virt:rhel module, use `virsh net-edit <network-name>` and reference https://libvirt.org/formatnetwork.html#elementsNamespaces to add the suggested option `cache-size=0`. There is no way to customize the dnsmasq configuration generated by libvirt, when using versions of Red Hat Enterprise Linux prior to version 8.3. If dnsmasq is being run through NetworkManager, create a new file in /etc/NetworkManager/dnsmasq.d/ and add `cache-size=0` to it. In all cases, by disabling the cache, you may experience a performance loss in your environment due to all DNS queries being forwarded to the upstream servers. Please evaluate if the mitigation is appropriate for the system’s environment before applying.
Statement: Dnsmasq may be run by libvirt and/or NetworkManager. libvirt uses dnsmasq by default to provide DNS service to its guests. NetworkManager may be configured to use dnsmasq to provide DNS service to the system, if a line `dns=dnsmasq` is present in the `[main]` section of the configuration file /etc/NetworkManager/NetworkManager.conf. In Red Hat OpenStack Platform (RHOSP) and Red Hat Virtualization (RHV), the dnsmasq package is provided by the underlying Red Hat Enterprise Linux (RHEL) product. RHOSP and RHV are therefore indirectly affected, so please ensure that the underlying RHEL dnsmasq package is updated.
Acknowledgments: Name: Moshe Kol (JSOF), Shlomi Oberman (JSOF)
External References: https://www.jsof-tech.com/disclosures/dnspooq/
Created dnsmasq tracking bugs for this issue: Affects: fedora-all [bug 1917787]
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.1 Extended Update Support Via RHSA-2021:0152 https://access.redhat.com/errata/RHSA-2021:0152
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:0150 https://access.redhat.com/errata/RHSA-2021:0150
Upstream patches: http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=15b60ddf935a531269bb8c68198de012a4967156 http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=6a6e06fbb0d4690507ceaf2bb6f0d8910f3d4914
This issue has been addressed in the following products: Red Hat Enterprise Linux 8.2 Extended Update Support Via RHSA-2021:0151 https://access.redhat.com/errata/RHSA-2021:0151
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.4 Advanced Update Support Red Hat Enterprise Linux 7.4 Update Services for SAP Solutions Red Hat Enterprise Linux 7.4 Telco Extended Update Support Via RHSA-2021:0156 https://access.redhat.com/errata/RHSA-2021:0156
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2021:0153 https://access.redhat.com/errata/RHSA-2021:0153
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.7 Extended Update Support Via RHSA-2021:0154 https://access.redhat.com/errata/RHSA-2021:0154
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.6 Extended Update Support Via RHSA-2021:0155 https://access.redhat.com/errata/RHSA-2021:0155
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2020-25686
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.2 Advanced Update Support Via RHSA-2021:0240 https://access.redhat.com/errata/RHSA-2021:0240
This issue has been addressed in the following products: Red Hat Enterprise Linux 7.3 Advanced Update Support Via RHSA-2021:0245 https://access.redhat.com/errata/RHSA-2021:0245
This issue has been addressed in the following products: Red Hat Virtualization 4 for Red Hat Enterprise Linux 7 Via RHSA-2021:0395 https://access.redhat.com/errata/RHSA-2021:0395
This issue has been addressed in the following products: Red Hat Virtualization 4 for Red Hat Enterprise Linux 8 Via RHSA-2021:0401 https://access.redhat.com/errata/RHSA-2021:0401