
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-21620 is a Relative Path Traversal vulnerability (CWE-23/CWE-22) in the tftp_file module of Erlang/OTP's TFTP implementation. It affects the erlang/otp (from version 17.0 and commit 07b8f441), erlang otp inets (versions 5.10 before 7.0), and erlang otp tftp (from version 1.0) packages, specifically in lib/tftp/src/tftp_file.erl and src/tftp_file.erl. The vulnerability was published on February 20, 2026, with a patch merged the same day. It carries a CVSS v4.0 base score of 2.3 (Low), though the CVSS category estimate is rated HIGH by some sources (Red Hat CVE, Feedly).
The root cause lies in the handle_initial function within tftp_file.erl, which previously used a filename_join helper that failed to properly validate that a requested filename remained within a configured root_dir. The old implementation used filename:join/2 to combine the root_dir with the requested filename but did not use filelib:safe_relative_path/2, allowing relative path components (e.g., ../../etc/passwd) to escape the intended directory boundary — a classic CWE-23 (Relative Path Traversal) flaw. The attack requires network access to a running TFTP service and low-level privileges (authenticated), with elevated attack complexity due to specific preconditions. The fix replaces the unsafe filename_join with a new safe_filename function that validates the root_dir is absolute and a real directory, then calls filelib:safe_relative_path/2 to reject any path that resolves outside the root (GitHub PR #10706, OTP commit maint-26).
Successful exploitation allows an authenticated attacker with low privileges to read or write files outside the intended TFTP root directory, limited to files accessible by the Erlang VM's OS user. This results in low confidentiality impact (unauthorized file reads, e.g., sensitive configuration files) and low integrity impact (unauthorized file writes), with no direct availability impact. The scope is limited to the system running the TFTP server, but file write capability could enable further compromise depending on what files are writable by the Erlang VM process (Feedly, IBM Advisory).
There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation as of the time of reporting (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.055% (0.000550), indicating a very low probability of exploitation in the near term. Exploitation requires network access to a TFTP service, low privileges, and specific attack conditions, further limiting practical risk.
nmap -sU -p 69 <target>) or Shodan. Confirm the service is running a vulnerable version of Erlang OTP.{root_dir, Dir} option in the tftp_file callback, which is the vulnerable default configuration.../../etc/passwd or ../../../sensitive_file, targeting files accessible by the Erlang VM's OS user.Note: No public PoC tools are known; these steps are based on the vulnerability's technical description and patch analysis (GitHub PR #10706, OTP commit maint-28).
../ or ..\ sequences; TFTP requests for files outside expected directories (e.g., /etc/passwd, /etc/shadow, system configuration files).../../, %2e%2e/); access to files not normally served by the TFTP service./etc/passwd, /etc/cron*) that could indicate unauthorized writes via TFTP; new or modified files in directories accessible by the Erlang VM user.beam.smp) performing file I/O on paths outside the expected TFTP serving directory.Patches have been merged into Erlang/OTP maintenance branches for OTP 26, 27, and 28 (targeting OTP 28.4 milestone), replacing the unsafe filename_join with filelib:safe_relative_path/2-based validation (GitHub PR #10706). Downstream distributions including Fedora, openSUSE/SUSE, Debian, and IBM PowerVC have released updated packages (IBM Advisory, Feedly). As an immediate workaround, explicitly configure the tftp_file callback with the {root_dir, Dir} option when starting the TFTP server (e.g., {callback, {"", tftp_file, [{root_dir, "/srv/tftp"}]}}), and disable TFTP services entirely if not required. Restrict OS-level file permissions for the Erlang VM user to minimize the impact of any traversal.
The Erlang/OTP maintainer RaimoNiskanen authored and merged the patch on February 20, 2026, and explicitly updated the documentation to warn that the default TFTP configuration (without root_dir) is a security vulnerability, recommending all users configure the root_dir option (GitHub PR #10706). Multiple Linux distributions (Fedora, openSUSE, SUSE, Debian) issued security advisories and updated packages in the weeks following disclosure. IBM published a security bulletin for affected PowerVC products (IBM Advisory). Community discussion on the Elixir Forum noted the release of OTP 28.3.2 as a patch package addressing this issue.
Fix availability across major Linux distributions and their releases.
bookworm
erlang: 1:25.2.3+dfsg-1+deb12u4
sid
erlang: 1:27.3.4.8+dfsg-1
trixie
erlang: 1:27.3.4.1+dfsg-1+deb13u2
bionic (esm-infra)
erlang
devel
erlang
focal (esm-infra)
erlang
jammy
erlang
noble
erlang
resolute
erlang
trusty (esm-infra-legacy)
erlang
xenial (esm-infra-legacy)
erlang
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."