Skip to content
Fencer Vulns
low 3.7

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

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 erlang
    affected: 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

Sources

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.