{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-21620", "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db", "state": "PUBLISHED", "assignerShortName": "EEF", "dateReserved": "2026-01-01T03:46:45.934Z", "datePublished": "2026-02-20T10:57:08.620Z", "dateUpdated": "2026-07-24T14:16:25.195Z" }, "containers": { "cna": { "affected": [ { "collectionURL": "https://github.com", "cpes": [ "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*" ], "defaultStatus": "unaffected", "modules": [ "tftp_file" ], "packageName": "erlang/otp", "packageURL": "pkg:github/erlang/otp", "product": "OTP", "programFiles": [ "lib/tftp/src/tftp_file.erl" ], "repo": "https://github.com/erlang/otp", "vendor": "Erlang", "versions": [ { "changes": [ { "at": "26.2.5.17", "status": "unaffected" }, { "at": "27.3.4.8", "status": "unaffected" }, { "at": "28.3.2", "status": "unaffected" } ], "lessThan": "*", "status": "affected", "version": "17.0", "versionType": "otp" }, { "changes": [ { "at": "655fb95725ba2fb811740b57e106873833824344", "status": "unaffected" }, { "at": "3970738f687325138eb75f798054fa8960ac354e", "status": "unaffected" }, { "at": "696fdec922661d4a3cc528fc34bc24fae8d4ad8a", "status": "unaffected" } ], "lessThan": "*", "status": "affected", "version": "07b8f441ca711f9812fad9e9115bab3c3aa92f79", "versionType": "git" } ] }, { "defaultStatus": "unaffected", "modules": [ "tftp_file" ], "packageName": "inets", "packageURL": "pkg:otp/inets?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git", "product": "OTP", "programFiles": [ "src/tftp_file.erl" ], "repo": "https://github.com/erlang/otp", "vendor": "Erlang", "versions": [ { "lessThan": "7.0", "status": "affected", "version": "5.10", "versionType": "otp" } ] }, { "defaultStatus": "unaffected", "modules": [ "tftp_file" ], "packageName": "tftp", "packageURL": "pkg:otp/tftp?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git", "product": "OTP", "programFiles": [ "src/tftp_file.erl" ], "repo": "https://github.com/erlang/otp", "vendor": "Erlang", "versions": [ { "changes": [ { "at": "1.1.1.1", "status": "unaffected" }, { "at": "1.2.2.1", "status": "unaffected" }, { "at": "1.2.4", "status": "unaffected" } ], "lessThan": "*", "status": "affected", "version": "1.0", "versionType": "otp" } ] } ], "configurations": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "A TFTP server must be started and the TFTP port must be reachable by the attacker, using the tftp application (or the legacy inets TFTP service) with the tftp_file callback module configured with the {root_dir, Dir} option." } ], "value": "A TFTP server must be started and the TFTP port must be reachable by the attacker, using the tftp application (or the legacy inets TFTP service) with the tftp_file callback module configured with the {root_dir, Dir} option." } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*", "versionEndExcluding": "26.2.5.17", "vulnerable": true }, { "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*", "versionEndExcluding": "27.3.4.8", "versionStartIncluding": "27.0", "vulnerable": true }, { "criteria": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*", "versionEndExcluding": "28.3.2", "versionStartIncluding": "28.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ], "operator": "AND" } ], "credits": [ { "lang": "en", "type": "finder", "value": "Luigino Camastra / Aisle Research" }, { "lang": "en", "type": "remediation reviewer", "value": "Jakub Witczak" }, { "lang": "en", "type": "remediation developer", "value": "Raimo Niskanen" } ], "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "Relative Path Traversal, Improper Isolation or Compartmentalization vulnerability in erlang otp erlang/otp (tftp_file modules), erlang otp inets (tftp_file modules), erlang otp tftp (tftp_file modules) allows Relative Path Traversal.
This vulnerability is associated with program files lib/tftp/src/tftp_file.erl, src/tftp_file.erl.
This issue affects OTP from OTP 17.0 before OTP 28.3.2, OTP 27.3.4.8 and OTP 26.2.5.17, corresponding to tftp from 1.0 before 1.2.4, 1.2.2.1 and 1.1.1.1; also inets from 5.10 before 7.0.
" } ], "value": "Relative Path Traversal, Improper Isolation or Compartmentalization vulnerability in erlang otp erlang/otp (tftp_file modules), erlang otp inets (tftp_file modules), erlang otp tftp (tftp_file modules) allows Relative Path Traversal. This vulnerability is associated with program files lib/tftp/src/tftp_file.erl, src/tftp_file.erl.\n\nThis issue affects OTP from OTP 17.0 before OTP 28.3.2, OTP 27.3.4.8 and OTP 26.2.5.17, corresponding to tftp from 1.0 before 1.2.4, 1.2.2.1 and 1.1.1.1; also inets from 5.10 before 7.0." } ], "impacts": [ { "capecId": "CAPEC-139", "descriptions": [ { "lang": "en", "value": "CAPEC-139 Relative Path Traversal" } ] } ], "metrics": [ { "cvssV4_0": { "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "attackVector": "NETWORK", "baseScore": 2.3, "baseSeverity": "LOW", "exploitMaturity": "NOT_DEFINED", "privilegesRequired": "LOW", "providerUrgency": "NOT_DEFINED", "subAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "userInteraction": "NONE", "valueDensity": "NOT_DEFINED", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N", "version": "4.0", "vulnAvailabilityImpact": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnerabilityResponseEffort": "NOT_DEFINED" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-23", "description": "CWE-23 Relative Path Traversal", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db", "shortName": "EEF", "dateUpdated": "2026-07-24T14:16:25.195Z" }, "references": [ { "tags": [ "vendor-advisory", "related" ], "url": "https://github.com/erlang/otp/security/advisories/GHSA-hmrc-prh3-rpvp" }, { "tags": [ "related" ], "url": "https://cna.erlef.org/cves/CVE-2026-21620.html" }, { "tags": [ "related" ], "url": "https://osv.dev/vulnerability/EEF-CVE-2026-21620" }, { "tags": [ "x_version-scheme" ], "url": "https://www.erlang.org/doc/system/versions.html#order-of-versions" }, { "tags": [ "patch" ], "url": "https://github.com/erlang/otp/pull/10706" }, { "tags": [ "patch" ], "url": "https://github.com/erlang/otp/commit/696fdec922661d4a3cc528fc34bc24fae8d4ad8a" }, { "tags": [ "patch" ], "url": "https://github.com/erlang/otp/commit/3970738f687325138eb75f798054fa8960ac354e" }, { "tags": [ "patch" ], "url": "https://github.com/erlang/otp/commit/655fb95725ba2fb811740b57e106873833824344" } ], "source": { "discovery": "EXTERNAL" }, "title": "TFTP Path Traversal", "x_generator": { "engine": "Vulnogram 0.5.0" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-02-20T13:36:03.423294Z", "id": "CVE-2026-21620", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-02-20T13:36:39.878Z" } } ] } }