SSH SFTP packet size not verified properly in Erlang OTP
Erlang is a programming language and runtime system for building massively scalable soft real-time systems with requirements on high availability. OTP is a set of Erlang libraries, which consists of the Erlang runtime system, a number of ready-to-use components mainly written in Erlang. Packet size is not verified properly for SFTP packets. As a result when multiple SSH packets (conforming to max SSH packet size) are received by ssh, they might be combined into an SFTP packet which will exceed the max allowed packet size and potentially cause large amount of memory to be allocated. Note that situation described above can only happen for successfully authenticated users after completing the SSH handshake. This issue has been patched in OTP versions 27.2.4, 26.2.5.9, and 25.3.2.18. There are no known workarounds for this vulnerability.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-26618
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 02:12 UTC · Revision 1
Source evidence
SSH SFTP packet size not verified properly in Erlang OTP
core-osv · Original sourcePublished 20 Feb 2025, 19:04 UTC
Erlang is a programming language and runtime system for building massively scalable soft real-time systems with requirements on high availability. OTP is a set of Erlang libraries, which consists of the Erlang runtime system, a number of ready-to-use components mainly written in Erlang. Packet size is not verified properly for SFTP packets. As a result when multiple SSH packets (conforming to max SSH packet size) are received by ssh, they might be combined into an SFTP packet which will exceed the max allowed packet size and potentially cause large amount of memory to be allocated. Note that situation described above can only happen for successfully authenticated users after completing the SSH handshake. This issue has been patched in OTP versions 27.2.4, 26.2.5.9, and 25.3.2.18. There are no known workarounds for this vulnerability.
osv:CVE-2025-26618
Complete source record
{
"id": "e3c02045cd69ae612322e3a4151832580eb1f3ab3f105d93922ecb1212e5694c",
"url": "https://osv.dev/vulnerability/CVE-2025-26618",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "SSH SFTP packet size not verified properly in Erlang OTP",
"summary": "Erlang is a programming language and runtime system for building massively scalable soft real-time systems with requirements on high availability. OTP is a set of Erlang libraries, which consists of the Erlang runtime system, a number of ready-to-use components mainly written in Erlang. Packet size is not verified properly for SFTP packets. As a result when multiple SSH packets (conforming to max SSH packet size) are received by ssh, they might be combined into an SFTP packet which will exceed the max allowed packet size and potentially cause large amount of memory to be allocated. Note that situation described above can only happen for successfully authenticated users after completing the SSH handshake. This issue has been patched in OTP versions 27.2.4, 26.2.5.9, and 25.3.2.18. There are no known workarounds for this vulnerability.",
"evidence": "osv:CVE-2025-26618",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2025-26618",
"aliases": [
"CVE-2025-26618",
"GHSA-78cv-45vx-q6fr"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/erlang/otp",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fc23816894479e0da3a22faaf90c16db3071ade5"
},
{
"fixed": "a2da0bad3f2d49dc1878f46f2d2961144ae0e0cb"
},
{
"fixed": "2a848b575d6fc7797fe88e226d1e5d26c894251d"
},
{
"fixed": "0ed2573cbd55c92e9125c9dc70fa1ca7fed82872"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "OTP-27.0.0"
},
{
"fixed": "OTP-27.2.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "OTP-26.0.0.0"
},
{
"fixed": "OTP-26.2.5.9"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "OTP-25.3.2.18"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "0ed2573cbd55c92e9125c9dc70fa1ca7fed82872"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"patch-base-26",
"OTP-26.2.5",
"OTP-27.0",
"OTP-26.2.3",
"OTP-26.0",
"patch-base-25",
"OTP-25.3.2",
"OTP-25.0",
"OTP-27.2",
"OTP-26.2.5.8",
"OTP-25.3.2.17",
"OTP-27.2.3",
"OTP-27.2.2",
"OTP-25.3.2.9",
"OTP-26.2.5.7",
"OTP-27.2.1",
"OTP-26.2.5.6",
"OTP-27.1",
"OTP-25.3.2.16",
"OTP-25.3.2.15",
"OTP-25.3",
"OTP-26.2.5.5",
"OTP-26.2.5.4",
"OTP-25.3.2.14",
"OTP-26.2.5.3",
"OTP-26.2",
"OTP-25.3.2.13",
"OTP-26.2.5.2",
"OTP-26.2.5.1",
"OTP-25.3.2.12",
"OTP-26.2.4",
"OTP-25.3.2.11",
"OTP-27.0-rc3",
"OTP-25.3.2.10",
"OTP-27.0-rc2",
"OTP-25.2",
"OTP-27.0-rc1",
"OTP-25.3.2.8",
"OTP-25.3.2.7",
"OTP-24.0",
"OTP-26.1",
"OTP-25.3.2.6",
"OTP-25.3.2.5",
"OTP-25.3.2.4",
"OTP-25.3.2.3",
"OTP-25.3.2.2",
"OTP-25.3.2.1",
"OTP-25.3.1",
"OTP-26.0-rc3",
"OTP-26.0-rc2",
"OTP-26.0-rc1",
"OTP-25.1",
"OTP-23.0",
"OTP-21.0",
"OTP-25.0-rc3",
"OTP-25.0-rc2",
"OTP-25.0-rc1",
"OTP-22.0",
"OTP-24.0-rc3",
"OTP-24.0-rc2",
"OTP-24.0-rc1",
"OTP-23.0-rc3",
"OTP-23.0-rc2",
"OTP-23.0-rc1",
"OTP-20.0",
"OTP-22.0-rc3",
"OTP-22.0-rc2",
"OTP-22.0-rc1",
"OTP-19.0",
"OTP-21.0-rc2",
"OTP-18.0",
"OTP-21.0-rc1",
"OTP-17.0",
"OTP-20.0-rc2",
"OTP-20.0-rc1",
"OTP-19.0-rc2",
"OTP-19.0-rc1",
"OTP_R16B",
"OTP-18.0-rc1",
"OTP_17.0-rc2",
"OTP_17.0-rc1",
"OTP_R13B03",
"OTP_R16A_RELEASE_CANDIDATE",
"OTP_R14B03",
"OTP_R15B",
"OTP_R15A",
"OTP_R14B02",
"OTP_R14B01",
"OTP_R14B",
"OTP_R13B04",
"OTP_R14A"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-26618.json"
}
}
],
"modified": "2026-10-28T02:30:52.996385104Z",
"provider": "osv",
"references": [
"https://lists.debian.org/debian-lts-announce/2025/04/msg00028.html",
"https://erlang.org/download/OTP-27.2.4.README.md",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/26xxx/CVE-2025-26618.json",
"https://github.com/erlang/otp/security/advisories/GHSA-78cv-45vx-q6fr",
"https://nvd.nist.gov/vuln/detail/CVE-2025-26618",
"https://github.com/erlang/otp/commit/0ed2573cbd55c92e9125c9dc70fa1ca7fed82872"
],
"provider_metadata": {
"cwe_ids": [
"CWE-789"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/26xxx/CVE-2025-26618.json"
}
},
"related_cves": [
{
"value": "CVE-2025-26618",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 521669,
"published_at": "2025-02-20T19:04:54.691+00:00"
}