CVE-2026-28810 json
Predictable DNS Transaction IDs Enable Cache Poisoning in Built-in Resolver
published 2026-04-07 7 mo ago modified 2026-10-26 13 d ago also EUVD-2026-19582
- cvss
- 3.7
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
Generation of Predictable Numbers or Identifiers vulnerability in Erlang/OTP kernel (inet_res, inet_db modules) allows DNS Cache Poisoning.
The built-in DNS resolver (inet_res) uses a sequential, process-global 16-bit transaction ID for UDP queries and does not implement source port randomization. Response validation relies almost entirely on this ID, making DNS cache poisoning practical for an attacker who can observe one query or predict the next ID. This conflicts with RFC 5452 recommendations for mitigating forged DNS answers.
inet_res is intended for use in trusted network environments and with trusted recursive resolvers. Earlier documentation did not clearly state this deployment assumption, which could lead users to deploy the resolver in environments where spoofed DNS responses are possible.
This vulnerability is associated with program files lib/kernel/src/inet_db.erl and lib/kernel/src/inet_res.erl.
This issue affects OTP from OTP 17.0 before OTP 28.4.2, OTP 27.3.4.10 and OTP 26.2.5.19, corresponding to kernel from 3.0 before 10.6.2, 10.2.7.4 and 9.2.4.11.
Patch / fix
- Erlang OTP 9.2.4.11, 10.2.7.4, 10.6.2, 26.2.5.19, 27.3.4.10, 28.4.2
- erlang Debian 13 1:27.3.4.1+dfsg-1+deb13u3
- erlang Debian 14 1:27.3.4.10+dfsg-1
debian advisories DEBIAN-CVE-2026-28810
- erlang Ubuntu 22.04 LTS 1:24.2.1+dfsg-1ubuntu0.8
- erlang Ubuntu 24.04 LTS 1:25.3.2.8+dfsg-1ubuntu4.8
- erlang Ubuntu 26.04 LTS 1:27.3.4.6+dfsg-1ubuntu0.2
ubuntu advisories UBUNTU-CVE-2026-28810
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- erlang SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 23.3.4.19-150300.3.39.1
- erlang26 SLES for SAP 15 SP6, SLES 15 SP6-LTSS, SLE Module for Server Applications 15 SP7 26.2.1-150300.7.28.1
suse advisories SUSE-SU-2026:3645-1SUSE-SU-2026:3579-1
- erlang27 openSUSE Tumbleweed 27.1.3-2.1
- erlang openSUSE Leap 16.0 27.1.3-160000.4.1
opensuse advisories openSUSE-SU-2026:10947-1openSUSE-SU-2026:20607-1
- github.com/erlang/otp@36f23c9 commit
- github.com/erlang/otp@dd15e8e commit
- github.com/erlang/otp@b057a9d commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-28810 updated cvss 5.3
erlang/otp: Erlang/OTP kernel: DNS cache poisoning via predictable DNS transaction IDs
-
Red Hat OpenStack Platform 16.2 erlang, erlang-ssl, erlang-asn1, erlang-erts, erlang-hipe, erlang-sasl, +15 more Red Hat OpenStack Platform 17.1 erlang-ssl, erlang-asn1, erlang-erts, erlang-sasl, erlang-snmp, erlang-eldap, +13 more Red Hat OpenStack Platform 18.0 erlangaffected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected products
- Erlang OTP
Classification
- Weakness
-
- CWE-340 Generation of Predictable Numbers or Identifiers
References
-
github.com
/erlang/otp/commit/36f23c9d2cc54afe83671dd7343596d7972839a5
patch
-
github.com
/erlang/otp/commit/dd15e8eb03548c5e55e9915f0e91389ec6bad9fd
patch
-
github.com
/erlang/otp/commit/b057a9d995017b1be50d6dc02edd52382f3231b8
patch
-
github.com
/erlang/otp/security/advisories/GHSA-v884-5jg5-whj8
vendor-advisory, related
-
cna.erlef.org
/cves/CVE-2026-28810.html
related, third-party-advisory
-
osv.dev
/vulnerability/EEF-CVE-2026-28810
related, third-party-advisory
-
erlang.org
/doc/system/versions.html#order-of-versions
release-notes
Sources
- CVE List CVE-2026-28810
- NVD CVE-2026-28810
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.