CVE-2023-2828 named's configured cache size limit can be significantly exceeded
Attackers can exceed the configured cache size limit in BIND 9 recursive resolvers by manipulating query order, potentially causing resource exhaustion and denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-2828?
CVE-2023-2828 is a high-severity denial of service vulnerability in Debian Debian Linux, published on 21 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Every `named` instance configured to run as a recursive resolver maintains a cache database holding the responses to the queries it has recently sent to authoritative servers. The size limit for that cache database can be configured using the `max-cache-size` statement in the configuration file; it defaults to 90% of the total amount of memory available on the host. When the size of the cache reaches 7/8 of the configured limit, a cache-cleaning algorithm starts to remove expired and/or least-recently used RRsets from the cache, to keep memory use below the configured limit.
It has been discovered that the effectiveness of the cache-cleaning algorithm used in `named` can be severely diminished by querying the resolver for specific RRsets in a certain order, effectively allowing the configured `max-cache-size` limit to be significantly exceeded. This issue affects BIND 9 versions 9.11.0 through 9.16.41, 9.18.0 through 9.18.15, 9.19.0 through 9.19.13, 9.11.3-S1 through 9.16.41-S1, and 9.18.11-S1 through 9.18.15-S1.
Weakness: CWE-770
Which versions are affected by CVE-2023-2828?
It affects 9 products.
Linux distribution packages (40)
bind AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-chroot AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-devel AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-export-devel AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-export-libs AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-libs AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-libs-lite AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-license AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-lite-devel AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-pkcs11 AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-pkcs11-devel AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-pkcs11-libs AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-pkcs11-utils AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-sdb AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-sdb-chroot AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind-utils AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
bind9.16 AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-chroot AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-devel AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-dnssec-utils AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-doc AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-libs AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-license AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind9.16-utils AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
python3-bind AlmaLinux:8 | All versions | 32:9.11.36-8.el8_8.1 |
python3-bind9.16 AlmaLinux:8 | All versions | 32:9.16.23-0.14.el8_8.1.alma |
bind AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-chroot AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-devel AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-dnssec-doc AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-dnssec-utils AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-doc AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-libs AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-license AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind-utils AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
python3-bind AlmaLinux:9 | All versions | 32:9.16.23-11.el9_2.1 |
bind Red Hat:enterprise_linux:7::client | All versions | 32:9.11.4-26.P2.el7_9.14 |
bind-chroot Red Hat:enterprise_linux:7::client | All versions | 32:9.11.4-26.P2.el7_9.14 |
bind-debuginfo Red Hat:enterprise_linux:7::client | All versions | 32:9.11.4-26.P2.el7_9.14 |
bind-devel Red Hat:enterprise_linux:7::client | All versions | 32:9.11.4-26.P2.el7_9.14 |
Products include Debian Debian Linux, Fedoraproject Fedora, Isc Bind, Netapp Active Iq Unified Manager, Netapp H300s Firmware, Netapp H410c Firmware and 3 more.
How do I fix CVE-2023-2828?
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-2023-2828 being exploited?
There is no known exploitation of CVE-2023-2828 in the wild and no public exploit code.
Other vulnerabilities in Debian Debian Linux
Sources
Also known as ALSA-2023:4099, ALSA-2023:4100, ALSA-2023:4102, AZL-27203, AZL-27238, CLSA-2023-1688677755 and 28 more.