Skip to content
Heist/ feed
Back to feed
HighFix available

erlang — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-48860

Reliance on IP Address for Authentication vulnerability in Erlang/OTP ssl (inet_tls_dist module) allows unauthenticated bypass of the distribution-over-TLS LAN allowlist. The inet_tls_dist:check_ip/1 function, which enforces a LAN allowlist for Erlang distribution over TLS, calls inet:sockname/1 instead of inet:peername/1 to obtain the peer's IP address. Because inet:sockname/1 returns the local socket address, both the local IP and the supposed peer IP resolve to the same value, causing the subnet mask comparison to always succeed regardless of the actual remote address. Any holder of a CA-signed TLS certificate can therefore bypass the LAN restriction and gain full Erlang distribution access to the node, including rpc:call/4 and code:load_binary/3. This vulnerability is associated with program file lib/ssl/src/inet_tls_dist.erl. This issue affects OTP from OTP 26.0 before OTP 27.3.4.13, OTP 28.5.0.2, and OTP 29.0.2, corresponding to ssl from 11.0 before 11.2.12.9, 11.6.0.2, and 11.7.2.

Products
erlang
Affected versions
1:27.3+dfsg-1ubuntu1, 1:27.3+dfsg-1ubuntu1.1, 1:27.3.4.1+dfsg-1, 1:27.3.4.1+dfsg-1build1, 1:27.3.4.1+dfsg-1ubuntu0.1, 1:27.3.4.3+dfsg-1, 1:27.3.4.4+dfsg-1, 1:27.3.4.6+dfsg-1, 1:27.3.4.6+dfsg-1ubuntu0.1
Fixed versions
1:27.3.4.6+dfsg-1ubuntu0.2
CVEs
CVE-2026-48860
Confirmed fixed CVEs
Not specified
Updated in this feed
28 Oct 2026, 10:04 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-48860

core-osv · Original source

Published 10 Jun 2026, 16:17 UTC

Reliance on IP Address for Authentication vulnerability in Erlang/OTP ssl (inet_tls_dist module) allows unauthenticated bypass of the distribution-over-TLS LAN allowlist. The inet_tls_dist:check_ip/1 function, which enforces a LAN allowlist for Erlang distribution over TLS, calls inet:sockname/1 instead of inet:peername/1 to obtain the peer's IP address. Because inet:sockname/1 returns the local socket address, both the local IP and the supposed peer IP resolve to the same value, causing the subnet mask comparison to always succeed regardless of the actual remote address. Any holder of a CA-signed TLS certificate can therefore bypass the LAN restriction and gain full Erlang distribution access to the node, including rpc:call/4 and code:load_binary/3. This vulnerability is associated with program file lib/ssl/src/inet_tls_dist.erl. This issue affects OTP from OTP 26.0 before OTP 27.3.4.13, OTP 28.5.0.2, and OTP 29.0.2, corresponding to ssl from 11.0 before 11.2.12.9, 11.6.0.2, and 11.7.2.

osv:UBUNTU-CVE-2026-48860

erlang

Fixed versions: Not specified

erlang

Fixed versions: 1:27.3.4.6+dfsg-1ubuntu0.2

Complete source record
{
  "id": "d10771f136a169ed1a0cfaca8d8595df0828744dcecc37eb4440c806f2830f90",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-48860",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-48860",
    "summary": "Reliance on IP Address for Authentication vulnerability in Erlang/OTP ssl (inet_tls_dist module) allows unauthenticated bypass of the distribution-over-TLS LAN allowlist. The inet_tls_dist:check_ip/1 function, which enforces a LAN allowlist for Erlang distribution over TLS, calls inet:sockname/1 instead of inet:peername/1 to obtain the peer's IP address. Because inet:sockname/1 returns the local socket address, both the local IP and the supposed peer IP resolve to the same value, causing the subnet mask comparison to always succeed regardless of the actual remote address. Any holder of a CA-signed TLS certificate can therefore bypass the LAN restriction and gain full Erlang distribution access to the node, including rpc:call/4 and code:load_binary/3. This vulnerability is associated with program file lib/ssl/src/inet_tls_dist.erl. This issue affects OTP from OTP 26.0 before OTP 27.3.4.13, OTP 28.5.0.2, and OTP 29.0.2, corresponding to ssl from 11.0 before 11.2.12.9, 11.6.0.2, and 11.7.2.",
    "evidence": "osv:UBUNTU-CVE-2026-48860",
    "products": [
      {
        "name": {
          "value": "erlang",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1:27.3+dfsg-1ubuntu1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1:27.3+dfsg-1ubuntu1.1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1:27.3.4.1+dfsg-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1:27.3.4.1+dfsg-1build1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1:27.3.4.1+dfsg-1ubuntu0.1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "erlang",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "1:27.3.4.6+dfsg-1ubuntu0.2",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": [
          {
            "value": "1:27.3.4.1+dfsg-1build1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "1:27.3.4.3+dfsg-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "1:27.3.4.4+dfsg-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "1:27.3.4.6+dfsg-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "1:27.3.4.6+dfsg-1ubuntu0.1",
            "evidence": "/affected/1/versions"
          }
        ]
      }
    ],
    "severity": "high",
    "structured": {
      "id": "UBUNTU-CVE-2026-48860",
      "aliases": [
        "UBUNTU-CVE-2026-48860"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
        },
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "erlang",
            "purl": "pkg:deb/ubuntu/erlang?arch=source&distro=questing",
            "ecosystem": "Ubuntu:25.10"
          },
          "versions": [
            "1:27.3+dfsg-1ubuntu1",
            "1:27.3+dfsg-1ubuntu1.1",
            "1:27.3.4.1+dfsg-1",
            "1:27.3.4.1+dfsg-1build1",
            "1:27.3.4.1+dfsg-1ubuntu0.1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48860.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "erlang",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-asn1",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-base",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-common-test",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-crypto",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-debugger",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-dialyzer",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-diameter",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-edoc",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-eldap",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-et",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-eunit",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-examples",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-ftp",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-inets",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-jinterface",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-megaco",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-mnesia",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-mode",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-nox",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-observer",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-odbc",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-os-mon",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-parsetools",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-public-key",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-reltool",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-runtime-tools",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-snmp",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-src",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-ssh",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-ssl",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-syntax-tools",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-tftp",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-tools",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-wx",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-x11",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              },
              {
                "binary_name": "erlang-xmerl",
                "binary_version": "1:27.3.4.1+dfsg-1ubuntu0.1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "1:27.3.4.6+dfsg-1ubuntu0.2"
                }
              ]
            }
          ],
          "package": {
            "name": "erlang",
            "purl": "pkg:deb/ubuntu/erlang?arch=source&distro=resolute",
            "ecosystem": "Ubuntu:26.04:LTS"
          },
          "versions": [
            "1:27.3.4.1+dfsg-1build1",
            "1:27.3.4.3+dfsg-1",
            "1:27.3.4.4+dfsg-1",
            "1:27.3.4.6+dfsg-1",
            "1:27.3.4.6+dfsg-1ubuntu0.1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-48860.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "erlang",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-asn1",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-base",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-common-test",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-crypto",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-debugger",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-dialyzer",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-diameter",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-edoc",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-eldap",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-et",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-eunit",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-examples",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-ftp",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-inets",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-jinterface",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-megaco",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-mnesia",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-mode",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-nox",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-observer",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-odbc",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-os-mon",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-parsetools",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-public-key",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-reltool",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-runtime-tools",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-snmp",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-src",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-ssh",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-ssl",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-syntax-tools",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-tftp",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-tools",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-wx",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-x11",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              },
              {
                "binary_name": "erlang-xmerl",
                "binary_version": "1:27.3.4.6+dfsg-1ubuntu0.2"
              }
            ],
            "availability": "No subscription required"
          }
        }
      ],
      "modified": "2026-10-08T19:47:10.634645924Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-48860"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-48860",
        "https://www.cve.org/CVERecord?id=CVE-2026-48860",
        "https://github.com/erlang/otp/security/advisories/GHSA-gp7x-mfv6-52cv",
        "https://cna.erlef.org/cves/CVE-2026-48860.html",
        "https://osv.dev/vulnerability/EEF-CVE-2026-48860",
        "https://ubuntu.com/security/notices/USN-8901-1"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-48860",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 104547,
  "published_at": "2026-06-10T16:17:00+00:00"
}