Skip to content
Heist/ feed
High

Distribution-over-TLS LAN allowlist silently bypassed due to sockname/peername confusion in inet_tls_dist

Type: advisorySource: Official CVE List1 source record

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.

Announced Source revision 1
Original source ↗

CVE-2026-48860

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-48860

OTP

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

OTP

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

OTP

Source reference: /containers/cna/affected/2/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "cpes": [
      "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
    ],
    "vendor": "Erlang",
    "modules": [
      "inet_tls_dist"
    ],
    "product": "OTP",
    "versions": [
      {
        "status": "affected",
        "changes": [
          {
            "at": "27.3.4.13",
            "status": "unaffected"
          },
          {
            "at": "28.5.0.2",
            "status": "unaffected"
          },
          {
            "at": "29.0.2",
            "status": "unaffected"
          }
        ],
        "version": "26.0",
        "lessThan": "*",
        "versionType": "otp"
      }
    ],
    "packageURL": "pkg:software-id/erlang.org/otp",
    "packageName": "otp",
    "programFiles": [
      "lib/ssl/src/inet_tls_dist.erl"
    ],
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "inet_tls_dist:check_ip/1"
      }
    ]
  },
  {
    "cpes": [
      "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
    ],
    "repo": "https://github.com/erlang/otp",
    "vendor": "Erlang",
    "modules": [
      "inet_tls_dist"
    ],
    "product": "OTP",
    "versions": [
      {
        "status": "affected",
        "changes": [
          {
            "at": "11.2.12.9",
            "status": "unaffected"
          },
          {
            "at": "11.6.0.2",
            "status": "unaffected"
          },
          {
            "at": "11.7.2",
            "status": "unaffected"
          }
        ],
        "version": "11.0",
        "lessThan": "*",
        "versionType": "otp"
      }
    ],
    "packageURL": "pkg:otp/ssl?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%2Bhttps:%2F%2Fgithub.com%2Ferlang%2Fotp.git",
    "packageName": "ssl",
    "programFiles": [
      "src/inet_tls_dist.erl"
    ],
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "inet_tls_dist:check_ip/1"
      }
    ]
  },
  {
    "cpes": [
      "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"
    ],
    "repo": "https://github.com/erlang/otp",
    "vendor": "Erlang",
    "modules": [
      "inet_tls_dist"
    ],
    "product": "OTP",
    "versions": [
      {
        "status": "affected",
        "version": "7a08c5507862a7011568506d0c17b1fdef30bee4",
        "lessThan": "0209a6df65d605552b378273027b3968b35f26b4",
        "versionType": "git"
      }
    ],
    "packageURL": "pkg:github/erlang/otp",
    "packageName": "erlang/otp",
    "programFiles": [
      "lib/ssl/src/inet_tls_dist.erl"
    ],
    "collectionURL": "https://github.com",
    "defaultStatus": "unaffected",
    "programRoutines": [
      {
        "name": "inet_tls_dist:check_ip/1"
      }
    ]
  }
]
Related CVEs
CVE-2026-48860

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#1888 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement