CVE-2022-3204 NRDelegation Attack
Attackers can cause denial of service in DNS resolvers by exploiting non-responsive delegation attacks, leading to resource exhaustion and degraded performance.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2022-3204?
CVE-2022-3204 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 26 Sep 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A vulnerability named 'Non-Responsive Delegation Attack' (NRDelegation Attack) has been discovered in various DNS resolving software. The NRDelegation Attack works by having a malicious delegation with a considerable number of non responsive nameservers. The attack starts by querying a resolver for a record that relies on those unresponsive nameservers. The attack can cause a resolver to spend a lot of time/resources resolving records under a malicious delegation point where a considerable number of unresponsive NS records reside. It can trigger high CPU usage in some resolver implementations that continually look in the cache for resolved NS records in that delegation. This can lead to degraded performance and eventually denial of service in orchestrated attacks. Unbound does not suffer from high CPU usage, but resources are still needed for resolving the malicious delegation. Unbound will keep trying to resolve the record until hard limits are reached. Based on the nature of the attack and the replies, different limits could be reached. From version 1.16.3 on, Unbound introduces fixes for better performance when under load, by cutting opportunistic queries for nameserver discovery and DNSKEY prefetching and limiting the number of times a delegation point can issue a cache lookup for missing records.
Weakness: CWE-400
Which versions are affected by CVE-2022-3204?
It affects 2 products.
Linux distribution packages (30)
python3-unbound AlmaLinux:8 | All versions | 1.16.2-5.el8 |
unbound AlmaLinux:8 | All versions | 1.16.2-5.el8 |
unbound-devel AlmaLinux:8 | All versions | 1.16.2-5.el8 |
unbound-libs AlmaLinux:8 | All versions | 1.16.2-5.el8 |
python3-unbound AlmaLinux:9 | All versions | 1.16.2-3.el9 |
unbound AlmaLinux:9 | All versions | 1.16.2-3.el9 |
unbound-devel AlmaLinux:9 | All versions | 1.16.2-3.el9 |
unbound-libs AlmaLinux:9 | All versions | 1.16.2-3.el9 |
python3-unbound Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
python3-unbound-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
unbound Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
unbound-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
unbound-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
unbound-devel Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
unbound-libs Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
unbound-libs-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:1.16.2-5.el8 |
python3-unbound Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
python3-unbound-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
unbound Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
unbound-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
unbound-debugsource Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
unbound-libs Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
unbound-libs-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:1.16.2-3.el9 |
python3-unbound-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 0:1.16.2-3.el9 |
unbound-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 0:1.16.2-3.el9 |
unbound-debugsource Red Hat:enterprise_linux:9::crb | All versions | 0:1.16.2-3.el9 |
unbound-devel Red Hat:enterprise_linux:9::crb | All versions | 0:1.16.2-3.el9 |
unbound-libs-debuginfo Red Hat:enterprise_linux:9::crb | All versions | 0:1.16.2-3.el9 |
unbound Rocky Linux:8 | All versions | 0:1.16.2-5.12.el8_10 |
unbound openSUSE:Tumbleweed | All versions | 1.16.3-1.1 |
Products include Fedoraproject Fedora, Nlnetlabs Unbound.
How do I fix CVE-2022-3204?
Upgrade to a fixed version.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2022-3204 being exploited?
There is no known exploitation of CVE-2022-3204 in the wild and no public exploit code.
Other vulnerabilities in Fedoraproject Fedora
Sources
Also known as ALPINE-CVE-2022-3204, ALSA-2023:2370, ALSA-2023:2771, AZL-11033, CLSA-2024-1725554505, DEBIAN-CVE-2022-3204 and 9 more.