// For flags

CVE-2020-25686

dnsmasq: multiple queries forwarded for the same name makes forging replies easier for an off-path attacker

Severity Score

3.7
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

A flaw was found in dnsmasq before version 2.83. When receiving a query, dnsmasq does not check for an existing pending request for the same name and forwards a new request. 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. This flaw allows an off-path attacker on the network to substantially reduce the number of attempts that it would have to perform to forge a reply and have it accepted by dnsmasq. This issue is mentioned in the "Birthday Attacks" section of RFC5452. If chained with CVE-2020-25684, the attack complexity of a successful attack is reduced. The highest threat from this vulnerability is to data integrity.

Se encontró un fallo en dnsmasq versiones anteriores a 2.83. Al recibir una consulta, dnsmasq no comprueba si existe una petición pendiente existente para el mismo nombre y reenvía una nueva petición. Por defecto, se puede enviar un máximo de 150 consultas pendientes a los servidores aguas arriba, por lo que puede haber como máximo 150 consultas para el mismo nombre. Este fallo permite a un atacante fuera de ruta en la red reduzca sustancialmente el número de intentos que tendría que realizar para falsificar una respuesta y hacer que dnsmasq la acepte. Este problema se menciona en la sección "Birthday Attacks" de RFC5452. Si se encadenaba con CVE-2020-25684, se reduce la complejidad del ataque de un ataque con éxito. La mayor amenaza de esta vulnerabilidad es la integridad de los datos

A flaw was found in dnsmasq. When receiving a query, dnsmasq does not check for an existing pending request for the same name and forwards a new request. 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. This flaw allows an off-path attacker on the network to substantially reduce the number of attempts that it would have to perform to forge a reply and have it accepted by dnsmasq. This issue is mentioned in the "Birthday Attacks" section of RFC5452. If chained with CVE-2020-25684, the attack complexity of a successful attack is reduced. The highest threat from this vulnerability is to data integrity.

USN-4698-1 fixed vulnerabilities in Dnsmasq. The updates introduced regressions in certain environments related to issues with multiple queries, and issues with retries. This update fixes the problem. Moshe Kol and Shlomi Oberman discovered that Dnsmasq incorrectly handled memory when sorting RRsets. A remote attacker could use this issue to cause Dnsmasq to hang, resulting in a denial of service, or possibly execute arbitrary code. Moshe Kol and Shlomi Oberman discovered that Dnsmasq incorrectly handled extracting certain names. A remote attacker could use this issue to cause Dnsmasq to hang, resulting in a denial of service, or possibly execute arbitrary code. Moshe Kol and Shlomi Oberman discovered that Dnsmasq incorrectly implemented address/port checks. A remote attacker could use this issue to perform a cache poisoning attack. Moshe Kol and Shlomi Oberman discovered that Dnsmasq incorrectly implemented query resource name checks. A remote attacker could use this issue to perform a cache poisoning attack. Moshe Kol and Shlomi Oberman discovered that Dnsmasq incorrectly handled multiple query requests for the same resource name. A remote attacker could use this issue to perform a cache poisoning attack. It was discovered that Dnsmasq incorrectly handled memory during DHCP response creation. A remote attacker could possibly use this issue to cause Dnsmasq to consume resources, leading to a denial of service. This issue only affected Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, and Ubuntu 20.04 LTS. Various other issues were also addressed.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
Low
Availability
None
Attack Vector
Network
Attack Complexity
Medium
Authentication
None
Confidentiality
None
Integrity
Partial
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2020-09-16 CVE Reserved
  • 2021-01-19 CVE Published
  • 2024-08-04 CVE Updated
  • 2024-11-13 First Exploit
  • 2025-03-30 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-290: Authentication Bypass by Spoofing
  • CWE-358: Improperly Implemented Security Check for Standard
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Thekelleys
Search vendor "Thekelleys"
Dnsmasq
Search vendor "Thekelleys" for product "Dnsmasq"
< 2.83
Search vendor "Thekelleys" for product "Dnsmasq" and version " < 2.83"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
32
Search vendor "Fedoraproject" for product "Fedora" and version "32"
-
Affected
Fedoraproject
Search vendor "Fedoraproject"
Fedora
Search vendor "Fedoraproject" for product "Fedora"
33
Search vendor "Fedoraproject" for product "Fedora" and version "33"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
10.0
Search vendor "Debian" for product "Debian Linux" and version "10.0"
-
Affected
Arista
Search vendor "Arista"
Eos
Search vendor "Arista" for product "Eos"
>= 4.21 < 4.21.14m
Search vendor "Arista" for product "Eos" and version " >= 4.21 < 4.21.14m"
-
Affected
Arista
Search vendor "Arista"
Eos
Search vendor "Arista" for product "Eos"
>= 4.22 < 4.22.9m
Search vendor "Arista" for product "Eos" and version " >= 4.22 < 4.22.9m"
-
Affected
Arista
Search vendor "Arista"
Eos
Search vendor "Arista" for product "Eos"
>= 4.23 < 4.23.7m
Search vendor "Arista" for product "Eos" and version " >= 4.23 < 4.23.7m"
-
Affected
Arista
Search vendor "Arista"
Eos
Search vendor "Arista" for product "Eos"
>= 4.24 < 4.24.5m
Search vendor "Arista" for product "Eos" and version " >= 4.24 < 4.24.5m"
-
Affected
Arista
Search vendor "Arista"
Eos
Search vendor "Arista" for product "Eos"
>= 4.25 < 4.25.2f
Search vendor "Arista" for product "Eos" and version " >= 4.25 < 4.25.2f"
-
Affected