Synopsis
The remote NewStart CGSL host is affected by multiple vulnerabilities.
Description
The remote NewStart CGSL host, running version MAIN 6.06, has dnsmasq packages installed that are affected by multiple vulnerabilities:
  - A flaw was found in dnsmasq before version 2.83. A heap-based buffer overflow was discovered in the way     RRSets are sorted before validating with DNSSEC data. An attacker on the network, who can forge DNS     replies such as that they are accepted as valid, could use this flaw to cause a buffer overflow with     arbitrary data in a heap memory segment, possibly executing code on the machine. The highest threat from     this vulnerability is to data confidentiality and integrity as well as system availability.
    (CVE-2020-25681)
  - A flaw was found in dnsmasq before 2.83. A buffer overflow vulnerability was discovered in the way dnsmasq     extract names from DNS packets before validating them with DNSSEC data. An attacker on the network, who     can create valid DNS replies, could use this flaw to cause an overflow with arbitrary data in a heap-     allocated memory, possibly executing code on the machine. The flaw is in the rfc1035.c:extract_name()     function, which writes data to the memory pointed by name assuming MAXDNAME*2 bytes are available in the     buffer. However, in some code execution paths, it is possible extract_name() gets passed an offset from     the base buffer, thus reducing, in practice, the number of available bytes that can be written in the     buffer. The highest threat from this vulnerability is to data confidentiality and integrity as well as     system availability. (CVE-2020-25682)
  - A flaw was found in dnsmasq before version 2.83. A heap-based buffer overflow was discovered in dnsmasq     when DNSSEC is enabled and before it validates the received DNS entries. A remote attacker, who can create     valid DNS replies, could use this flaw to cause an overflow in a heap-allocated memory. This flaw is     caused by the lack of length checks in rfc1035.c:extract_name(), which could be abused to make the code     execute memcpy() with a negative size in get_rdata() and cause a crash in dnsmasq, resulting in a denial     of service. The highest threat from this vulnerability is to system availability. (CVE-2020-25683)
  - A flaw was found in dnsmasq before version 2.83. When getting a reply from a forwarded query, dnsmasq     checks in the forward.c:reply_query() if the reply destination address/port is used by the pending     forwarded queries. However, it does not use the address/port to retrieve the exact forwarded query,     substantially reducing the number of attempts an attacker on the network would have to perform to forge a     reply and get it accepted by dnsmasq. This issue contrasts with RFC5452, which specifies a query's     attributes that all must be used to match a reply. This flaw allows an attacker to perform a DNS Cache     Poisoning attack. If chained with CVE-2020-25685 or CVE-2020-25686, the attack complexity of a successful     attack is reduced. The highest threat from this vulnerability is to data integrity. (CVE-2020-25684)
  - A flaw was found in dnsmasq before version 2.83. When getting a reply from a forwarded query, dnsmasq     checks in forward.c:reply_query(), which is the forwarded query that matches the reply, by only using a     weak hash of the query name. Due to the weak hash (CRC32 when dnsmasq is compiled without DNSSEC, SHA-1     when it is) this flaw allows an off-path attacker to find several different domains all having the same     hash, substantially reducing the number of attempts they would have to perform to forge a reply and get it     accepted by dnsmasq. This is in contrast with RFC5452, which specifies that the query name is one of the     attributes of a query that must be used to match a reply. This flaw could be abused to perform a DNS Cache     Poisoning attack. 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. (CVE-2020-25685)
  - 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.
    (CVE-2020-25686)
  - A flaw was found in dnsmasq before version 2.83. A heap-based buffer overflow was discovered in dnsmasq     when DNSSEC is enabled and before it validates the received DNS entries. This flaw allows a remote     attacker, who can create valid DNS replies, to cause an overflow in a heap-allocated memory. This flaw is     caused by the lack of length checks in rfc1035.c:extract_name(), which could be abused to make the code     execute memcpy() with a negative size in sort_rrset() and cause a crash in dnsmasq, resulting in a denial     of service. The highest threat from this vulnerability is to system availability. (CVE-2020-25687)
  - A flaw was found in dnsmasq in versions before 2.85. When configured to use a specific server for a given     network interface, dnsmasq uses a fixed port while forwarding queries. An attacker on the network, able to     find the outgoing port used by dnsmasq, only needs to guess the random transmission ID to forge a reply     and get it accepted by dnsmasq. This flaw makes a DNS Cache Poisoning attack much easier. The highest     threat from this vulnerability is to data integrity. (CVE-2021-3448)
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.
Solution
Upgrade the vulnerable CGSL dnsmasq packages. Note that updated packages may not be available yet. Please contact ZTE for more information.
Plugin Details
File Name: newstart_cgsl_NS-SA-2023-0078_dnsmasq.nasl
Supported Sensors: Nessus
Risk Information
Vector: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:C
Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Temporal Vector: CVSS:3.0/E:P/RL:O/RC:C
Vulnerability Information
CPE: cpe:/o:zte:cgsl_main:6, p-cpe:/a:zte:cgsl_main:dnsmasq, p-cpe:/a:zte:cgsl_main:dnsmasq-utils
Required KB Items: Host/local_checks_enabled, Host/cpu, Host/ZTE-CGSL/release, Host/ZTE-CGSL/rpm-list
Exploit Ease: Exploits are available
Patch Publication Date: 5/30/2023
Vulnerability Publication Date: 1/19/2021