Description
NLnet Labs Unbound, up to and including version 1.12.0, and NLnet Labs NSD, up to and including version 4.3.3, contain a local vulnerability that would allow for a local symlink attack. When writing the PID file, Unbound and NSD create the file if it is not there, or open an existing file for writing. In case the file was already present, they would follow symlinks if the file happened to be a symlink instead of a regular file. An additional chown of the file would then take place after it was written, making the user Unbound/NSD is supposed to run as the new owner of the file. If an attacker has local access to the user Unbound/NSD runs as, she could create a symlink in place of the PID file pointing to a file that she would like to erase. If then Unbound/NSD is killed and the PID file is not cleared, upon restarting with root privileges, Unbound/NSD will rewrite any file pointed at by the symlink. This is a local vulnerability that could create a Denial of Service of the system Unbound/NSD is running on. It requires an attacker having access to the limited permission user Unbound/NSD runs as and point through the symlink to a critical file on the system.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| NLnet Labs | Unbound | <= 1.12.0 | — |
| NLnet Labs | NSD | <= 4.3.3 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | nsd | 4.3.4-1 | — |
| Debian 14 | unbound | 1.13.0-1 | — |
| Debian 13 | nsd | 4.3.4-1 | — |
| Debian 13 | unbound | 1.13.0-1 | — |
| Debian 12 | nsd | 4.3.4-1 | — |
| Debian 12 | unbound | 1.13.0-1 | — |
| Debian 10 | unbound | 1.9.0-2+deb10u3 | DLA-3371-1 |
| Debian 9 | unbound1.9 | 1.9.0-2+deb10u2~deb9u1 | DLA-2556-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | unbound | 1.9.4-2ubuntu1.2 | USN-4938-1 |
| Ubuntu 18.04 LTS | unbound | 1.6.7-1ubuntu2.4 | USN-4938-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 16.04 LTS | unbound | No fix yet | — |
| Ubuntu Pro 14.04 LTS | unbound | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | unbound +3 | 1.7.3-15.el8 | RHSA-2021:1853 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8.2 EUS | unbound +3 | 1.7.3-12.el8_2 | RHSA-2022:0632 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 8 | unbound | 1.7.3-15.el8 | RLSA-2021:1853 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP3 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLES 15 SP2 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLES 15 SP1 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLES 15 | unbound | 1.6.8-3.9.1 | SUSE-SU-2022:0301-1 |
Show 15 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP2 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLES for SAP 15 SP1 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLES for SAP 15 | unbound | 1.6.8-3.9.1 | SUSE-SU-2022:0301-1 |
| SLE Real Time 15 SP2 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-2 |
| SLE HPC 15 SP2 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLE HPC 15 SP1 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SLE HPC 15 | unbound | 1.6.8-3.9.1 | SUSE-SU-2022:0301-1 |
| SUSE Package Hub 15 SP2 | nsd | 4.3.4-bp152.2.3.1 | openSUSE-SU-2020:2222-1 |
| SUSE Package Hub 15 SP1 | nsd | 4.3.4-bp152.2.3.1 | openSUSE-SU-2020:2222-1 |
| SUSE Package Hub 12 | nsd | 4.3.4-bp152.2.3.1 | openSUSE-SU-2020:2222-1 |
| SUSE Manager Server 4.1 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SUSE Manager Retail Branch Server 4.1 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SUSE Manager Proxy 4.1 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SUSE Enterprise Storage 7 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
| SUSE Enterprise Storage 6 | unbound | 1.6.8-10.6.1 | SUSE-SU-2022:0176-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | nsd | 4.3.7-1.2 | openSUSE-SU-2024:11100-1 |
| openSUSE Tumbleweed | sslh | 2.2.3-1.1 | openSUSE-SU-2025:15069-1 |
| openSUSE Tumbleweed | unbound | 1.13.2-1.2 | openSUSE-SU-2024:11005-1 |
| openSUSE Leap 15.3 | unbound | 1.6.8-10.6.1 | openSUSE-SU-2022:0176-1 |
| openSUSE Leap 15.2 | nsd | 4.3.4-bp152.2.3.1 | openSUSE-SU-2020:2222-1 |
| openSUSE Leap 15.1 | nsd | 4.3.4-bp152.2.3.1 | openSUSE-SU-2020:2222-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | nsd | 4.3.4-r0 | — |
| Alpine v3.23 | nsd | 4.3.4-r0 | — |
| Alpine v3.22 | nsd | 4.3.4-r0 | — |
| Alpine v3.21 | nsd | 4.3.4-r0 | — |
| Alpine v3.20 | nsd | 4.3.4-r0 | — |
Show 8 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | nsd | 4.3.4-r0 | — |
| Alpine v3.18 | nsd | 4.3.4-r0 | — |
| Alpine v3.17 | nsd | 4.3.4-r0 | — |
| Alpine v3.16 | nsd | 4.3.4-r0 | — |
| Alpine v3.15 | nsd | 4.3.4-r0 | — |
| Alpine v3.14 | nsd | 4.3.4-r0 | — |
| Alpine v3.13 | nsd | 4.3.4-r0 | — |
| Alpine v3.12 | nsd | 4.3.4-r0 | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2 | unbound +4 | 1.7.3-15.amzn2.0.1 | ALAS2-2021-1683 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | unbound | 1.10.0-5 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 8 | unbound +3 | 1.7.3-15.el8 | ELSA-2021-1853 |
Advisories 16
- RHSA-2022:0632 Red Hat Security Advisory: unbound security update Red Hat Security Advisories (RHSA) · Jun 27, 2026
- RHSA-2021:1853 Red Hat Security Advisory: unbound security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Jun 27, 2026
- USN-4938-1 unbound vulnerabilities Ubuntu Security Notices (USN) · Apr 27, 2026
- DLA-3371-1 unbound - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-2556-1 unbound1.9 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- RLSA-2021:1853 Moderate: unbound security, bug fix, and enhancement update Rocky Linux Security Advisories · Feb 5, 2026
- SUSE-SU-2022:0301-1 Security update for unbound SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2022:0176-1 Security update for unbound SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2020:2222-1 Security update for nsd SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2025:15069-1 sslh-2.2.3-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:11005-1 libunbound8-1.13.2-1.2 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2022:0176-2 Security update for unbound SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:11100-1 nsd-4.3.7-1.2 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2022:0176-1 Security update for unbound SUSE / openSUSE Security Updates · May 7, 2025
- ALAS2-2021-1683 Moderate: unbound security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Jan 19, 2024
- ELSA-2021-1853 Moderate: unbound security, bug fix, and enhancement update (Oracle Linux 8) Oracle Linux Security Advisories (ELSA) · May 25, 2021
References
- https://www.nlnetlabs.nl/downloads/unbound/CVE-2020-28935.txt
- https://www.nlnetlabs.nl/downloads/nsd/CVE-2020-28935.txt
- GLSA-202101-38 vendor-advisory
- [debian-lts-announce] 20210212 [SECURITY] [DLA 2556-1] unbound1.9 security update mailing-list
- [debian-lts-announce] 20230329 [SECURITY] [DLA 3371-1] unbound security update mailing-list