CVE-2026-21620
📋 TL;DR
This CVE describes a relative path traversal vulnerability in Erlang/OTP's TFTP file modules (tftp_file.erl). It allows attackers to access files outside the intended directory by manipulating file paths. This affects Erlang/OTP installations using TFTP functionality across multiple versions.
💻 Affected Systems
- erlang/otp
- erlang otp erlang/otp
- erlang otp inets
- erlang otp tftp
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could read sensitive system files, potentially exposing credentials, configuration data, or other confidential information, leading to further system compromise.
Likely Case
Unauthorized file access to files within the TFTP server's accessible directory structure, potentially exposing application data or configuration files.
If Mitigated
Limited impact if proper file system permissions restrict TFTP process access and the service runs with minimal privileges.
🎯 Exploit Status
Path traversal vulnerabilities typically have low exploitation complexity. The advisory references suggest this is a directory traversal issue that could be exploited via crafted TFTP requests.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in commits: 3970738f687325138eb75f798054fa8960ac354e, 655fb95725ba2fb811740b57e106873833824344, 696fdec922661d4a3cc528fc34bc24fae8d4ad8a
Vendor Advisory: https://github.com/erlang/otp/security/advisories/GHSA-hmrc-prh3-rpvp
Restart Required: Yes
Instructions:
1. Update Erlang/OTP to a version containing the fix commits. 2. Apply patches from the GitHub advisory. 3. Restart any services using Erlang/OTP TFTP functionality.
🔧 Temporary Workarounds
Disable TFTP Service
allIf TFTP functionality is not required, disable the TFTP service to eliminate the attack surface.
# Stop TFTP service if running as standalone
# Check your Erlang application configuration to disable TFTP modules
Restrict TFTP Directory Access
linuxConfigure TFTP to run in a chroot jail or with strict directory permissions to limit file access.
# Configure TFTP to use a restricted directory
# Set appropriate file system permissions on TFTP directories
🧯 If You Can't Patch
- Implement network segmentation to isolate TFTP servers from sensitive systems
- Deploy web application firewall (WAF) or network filtering to block path traversal patterns in TFTP traffic
🔍 How to Verify
Check if Vulnerable:
Check if your Erlang/OTP installation includes the vulnerable tftp_file modules and is within the affected version ranges. Review TFTP service configuration.
Check Version:
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'
Verify Fix Applied:
Verify that the fix commits are present in your Erlang/OTP installation and test TFTP functionality with path traversal attempts.
📡 Detection & Monitoring
Log Indicators:
- Unusual TFTP file access patterns
- Failed file access attempts with path traversal characters (../)
- TFTP requests for files outside expected directories
Network Indicators:
- TFTP traffic containing path traversal sequences
- TFTP requests to unexpected file paths
SIEM Query:
source="tftp.log" AND ("..\/" OR "../" OR "%2e%2e%2f")
🔗 References
- https://github.com/erlang/otp/commit/3970738f687325138eb75f798054fa8960ac354e
- https://github.com/erlang/otp/commit/655fb95725ba2fb811740b57e106873833824344
- https://github.com/erlang/otp/commit/696fdec922661d4a3cc528fc34bc24fae8d4ad8a
- https://github.com/erlang/otp/pull/10706
- https://github.com/erlang/otp/security/advisories/GHSA-hmrc-prh3-rpvp
- https://www.erlang.org/doc/system/versions.html#order-of-versions