CVE-2026-48860

Source
https://cve.org/CVERecord?id=CVE-2026-48860
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48860.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-48860
Aliases
Downstream
Published
2026-06-10T14:35:49.987Z
Modified
2026-07-15T01:48:54.748570656Z
Severity
  • 7.5 (High) CVSS_V4 - 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 CVSS Calculator
Summary
Distribution-over-TLS LAN allowlist silently bypassed due to sockname/peername confusion in inet_tls_dist
Details

Reliance on IP Address for Authentication vulnerability in Erlang/OTP ssl (inettlsdist module) allows unauthenticated bypass of the distribution-over-TLS LAN allowlist.

The inettlsdist:checkip/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:loadbinary/3.

This vulnerability is associated with program file lib/ssl/src/inettlsdist.erl.

This issue affects OTP from OTP 26.0 before 29.0.2, 28.5.0.2 and 27.3.4.13 corresponding to ssl from 11.0 before 11.7.2, 11.6.0.2 and 11.2.12.9.

Database specific
{
    "cwe_ids": [
        "CWE-1025",
        "CWE-863"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48860.json",
    "unresolved_ranges": [
        {
            "extracted_events": [
                {
                    "introduced": "11.0"
                },
                {
                    "fixed": "*"
                },
                {
                    "introduced": "26.0"
                },
                {
                    "fixed": "*"
                },
                {
                    "introduced": "7a08c5507862a7011568506d0c17b1fdef30bee4"
                },
                {
                    "fixed": "0209a6df65d605552b378273027b3968b35f26b4"
                }
            ],
            "source": "AFFECTED_FIELD"
        }
    ],
    "cna_assigner": "EEF"
}
References

Affected packages

Git / github.com/erlang/otp

Affected ranges

Type
GIT
Repo
https://github.com/erlang/otp
Events
Database specific
{
    "cpe": "cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*",
    "extracted_events": [
        {
            "introduced": "26.0"
        },
        {
            "fixed": "27.3.4.13"
        },
        {
            "introduced": "28.0"
        },
        {
            "fixed": "28.5.0.2"
        },
        {
            "introduced": "29.0"
        },
        {
            "fixed": "29.0.2"
        }
    ],
    "source": [
        "CPE_RANGE",
        "REFERENCES"
    ]
}

Affected versions

OTP-26.*
OTP-26.0
OTP-27.*
OTP-27.0
OTP-27.0-rc1
OTP-27.0-rc2
OTP-27.0-rc3
OTP-27.1
OTP-27.2
OTP-27.3
OTP-27.3.1
OTP-27.3.2
OTP-27.3.3
OTP-27.3.4
OTP-27.3.4.1
OTP-27.3.4.10
OTP-27.3.4.11
OTP-27.3.4.12
OTP-27.3.4.2
OTP-27.3.4.3
OTP-27.3.4.4
OTP-27.3.4.5
OTP-27.3.4.6
OTP-27.3.4.7
OTP-27.3.4.8
OTP-27.3.4.9
OTP-28.*
OTP-28.0
OTP-28.1
OTP-28.4
OTP-28.5
OTP-28.5.0.1
OTP-29.*
OTP-29.0
OTP-29.0.1
Other
patch-base-27
patch-base-28

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48860.json"