Skip to content
Heist/ feed
Back to feed
High

SSH SFTP packet size not verified properly in Erlang OTP

Type: advisorySources: OSV

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 source

Published 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"
}