{"api_version":"1","generated_at":"2026-06-16T23:22:51+00:00","cve":"CVE-2026-48860","urls":{"html":"https://cve.report/CVE-2026-48860","api":"https://cve.report/api/cve/CVE-2026-48860.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-48860","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-48860"},"summary":{"title":"Distribution-over-TLS LAN allowlist silently bypassed due to sockname/peername confusion in inet_tls_dist","description":"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.\n\nThe 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.\n\nThis vulnerability is associated with program file lib/ssl/src/inet_tls_dist.erl.\n\nThis 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.","state":"PUBLISHED","assigner":"EEF","published_at":"2026-06-10 16:17:12","updated_at":"2026-06-15 18:24:03"},"problem_types":["CWE-863","CWE-1025","CWE-1025 CWE-1025 Comparison Using Wrong Factors","CWE-863 CWE-863 Incorrect Authorization"],"metrics":[{"version":"4.0","source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","score":"7.5","severity":"HIGH","vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","data":{"version":"4.0","vectorString":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"ADJACENT","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}},{"version":"4.0","source":"CNA","type":"CVSS","score":"7.5","severity":"HIGH","vector":"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","data":{"attackComplexity":"HIGH","attackRequirements":"PRESENT","attackVector":"ADJACENT","baseScore":7.5,"baseSeverity":"HIGH","privilegesRequired":"LOW","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH"}},{"version":"3.1","source":"nvd@nist.gov","type":"Primary","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}}],"references":[{"url":"https://github.com/erlang/otp/commit/0209a6df65d605552b378273027b3968b35f26b4","name":"https://github.com/erlang/otp/commit/0209a6df65d605552b378273027b3968b35f26b4","refsource":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.erlang.org/doc/system/versions.html#order-of-versions","name":"https://www.erlang.org/doc/system/versions.html#order-of-versions","refsource":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","tags":["Product"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://cna.erlef.org/cves/CVE-2026-48860.html","name":"https://cna.erlef.org/cves/CVE-2026-48860.html","refsource":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","tags":["Third Party Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/erlang/otp/security/advisories/GHSA-gp7x-mfv6-52cv","name":"https://github.com/erlang/otp/security/advisories/GHSA-gp7x-mfv6-52cv","refsource":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","tags":["Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-48860","name":"https://osv.dev/vulnerability/EEF-CVE-2026-48860","refsource":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","tags":["Third Party Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-48860","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-48860","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Erlang","product":"OTP","version":"affected 11.0 * otp","platforms":[]},{"source":"CNA","vendor":"Erlang","product":"OTP","version":"affected 26.0 * otp","platforms":[]},{"source":"CNA","vendor":"Erlang","product":"OTP","version":"affected 7a08c5507862a7011568506d0c17b1fdef30bee4 0209a6df65d605552b378273027b3968b35f26b4 git","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[{"source":"CNA","title":"","value":"Implement a custom verify_fun SSL option that correctly checks the peer IP address using inet:peername/1 on the socket.","time":"","lang":"en"}],"exploits":[],"credits":[{"source":"CNA","value":"Lukas Backström","lang":"en"},{"source":"CNA","value":"Ingela Anderton Andin","lang":"en"},{"source":"CNA","value":"Raimo Niskanen","lang":"en"},{"source":"CNA","value":"Jakub Witczak","lang":"en"}],"nvd_cpes":[{"cve_year":"2026","cve_id":"48860","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"erlang","cpe5":"erlang\\/otp","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"48860","cve":"CVE-2026-48860","epss":"0.002530000","percentile":"0.163280000","score_date":"2026-06-15","updated_at":"2026-06-16 00:11:16"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-48860","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-06-10T16:23:08.922807Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-06-10T16:23:31.951Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"cpes":["cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"],"defaultStatus":"unknown","modules":["inet_tls_dist"],"packageName":"ssl","packageURL":"pkg:otp/ssl?repository_url=https:%2F%2Fgithub.com%2Ferlang%2Fotp&vcs_url=git%20https:%2F%2Fgithub.com%2Ferlang%2Fotp.git","product":"OTP","programFiles":["src/inet_tls_dist.erl"],"programRoutines":[{"name":"inet_tls_dist:check_ip/1"}],"repo":"https://github.com/erlang/otp","vendor":"Erlang","versions":[{"changes":[{"at":"11.7.2","status":"unaffected"},{"at":"11.6.0.2","status":"unaffected"},{"at":"11.2.12.9","status":"unaffected"}],"lessThan":"*","status":"affected","version":"11.0","versionType":"otp"}]},{"collectionURL":"https://github.com","cpes":["cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*"],"defaultStatus":"unknown","modules":["inet_tls_dist"],"packageName":"erlang/otp","packageURL":"pkg:github/erlang/otp","product":"OTP","programFiles":["lib/ssl/src/inet_tls_dist.erl"],"programRoutines":[{"name":"inet_tls_dist:check_ip/1"}],"repo":"https://github.com/erlang/otp","vendor":"Erlang","versions":[{"changes":[{"at":"29.0.2","status":"unaffected"},{"at":"28.5.0.2","status":"unaffected"},{"at":"27.3.4.13","status":"unaffected"}],"lessThan":"*","status":"affected","version":"26.0","versionType":"otp"},{"lessThan":"0209a6df65d605552b378273027b3968b35f26b4","status":"affected","version":"7a08c5507862a7011568506d0c17b1fdef30bee4","versionType":"git"}]}],"configurations":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"The Erlang distribution must be configured to use TLS (<tt>inet_tls_dist</tt>) with the <tt>check_ip</tt> option enabled. The default Erlang distribution configuration does not use TLS and is not affected."}],"value":"The Erlang distribution must be configured to use TLS (inet_tls_dist) with the check_ip option enabled. The default Erlang distribution configuration does not use TLS and is not affected."}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionEndExcluding":"27.3.4.13","versionStartIncluding":"26.0","vulnerable":true},{"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionEndExcluding":"28.5.0.2","versionStartIncluding":"28.0","vulnerable":true},{"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionEndExcluding":"29.0.2","versionStartIncluding":"29.0","vulnerable":true}],"negate":false,"operator":"OR"}]}],"credits":[{"lang":"en","type":"finder","value":"Lukas Backström"},{"lang":"en","type":"remediation developer","value":"Ingela Anderton Andin"},{"lang":"en","type":"remediation reviewer","value":"Raimo Niskanen"},{"lang":"en","type":"remediation reviewer","value":"Jakub Witczak"}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<p>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.</p><p>The <tt>inet_tls_dist:check_ip/1</tt> function, which enforces a LAN allowlist for Erlang distribution over TLS, calls <tt>inet:sockname/1</tt> instead of <tt>inet:peername/1</tt> to obtain the peer's IP address. Because <tt>inet:sockname/1</tt> 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 <tt>rpc:call/4</tt> and <tt>code:load_binary/3</tt>.</p><p>This vulnerability is associated with program file <tt>lib/ssl/src/inet_tls_dist.erl</tt>.</p><p>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.</p>"}],"value":"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.\n\nThe 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.\n\nThis vulnerability is associated with program file lib/ssl/src/inet_tls_dist.erl.\n\nThis 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."}],"impacts":[{"capecId":"CAPEC-1","descriptions":[{"lang":"en","value":"CAPEC-1 Accessing Functionality Not Properly Constrained by ACLs"}]},{"capecId":"CAPEC-115","descriptions":[{"lang":"en","value":"CAPEC-115 Authentication Bypass"}]}],"metrics":[{"cvssV4_0":{"attackComplexity":"HIGH","attackRequirements":"PRESENT","attackVector":"ADJACENT","baseScore":7.5,"baseSeverity":"HIGH","privilegesRequired":"LOW","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1025","description":"CWE-1025 Comparison Using Wrong Factors","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","description":"CWE-863 Incorrect Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-06-11T04:45:42.753Z","orgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","shortName":"EEF"},"references":[{"tags":["vendor-advisory","related"],"url":"https://github.com/erlang/otp/security/advisories/GHSA-gp7x-mfv6-52cv"},{"tags":["related"],"url":"https://cna.erlef.org/cves/CVE-2026-48860.html"},{"tags":["related"],"url":"https://osv.dev/vulnerability/EEF-CVE-2026-48860"},{"tags":["x_version-scheme"],"url":"https://www.erlang.org/doc/system/versions.html#order-of-versions"},{"tags":["patch"],"url":"https://github.com/erlang/otp/commit/0209a6df65d605552b378273027b3968b35f26b4"}],"source":{"discovery":"INTERNAL"},"title":"Distribution-over-TLS LAN allowlist silently bypassed due to sockname/peername confusion in inet_tls_dist","workarounds":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Implement a custom <tt>verify_fun</tt> SSL option that correctly checks the peer IP address using <tt>inet:peername/1</tt> on the socket."}],"value":"Implement a custom verify_fun SSL option that correctly checks the peer IP address using inet:peername/1 on the socket."}],"x_generator":{"engine":"cvelib 1.8.0"}}},"cveMetadata":{"assignerOrgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","assignerShortName":"EEF","cveId":"CVE-2026-48860","datePublished":"2026-06-10T14:35:49.987Z","dateReserved":"2026-05-25T20:44:10.697Z","dateUpdated":"2026-06-11T04:45:42.753Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-10 16:17:12","lastModifiedDate":"2026-06-15 18:24:03","problem_types":["CWE-863","CWE-1025","CWE-1025 CWE-1025 Comparison Using Wrong Factors","CWE-863 CWE-863 Incorrect Authorization"],"metrics":{"cvssMetricV40":[{"source":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","type":"Secondary","cvssData":{"version":"4.0","vectorString":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"ADJACENT","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":3.6}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionStartIncluding":"26.0","versionEndExcluding":"27.3.4.13","matchCriteriaId":"9F891113-4D35-4AB8-AA44-F3B6FC784F48"},{"vulnerable":true,"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionStartIncluding":"28.0","versionEndExcluding":"28.5.0.2","matchCriteriaId":"902ED4C3-B9DE-4ABC-9BEA-D23DA4F5D373"},{"vulnerable":true,"criteria":"cpe:2.3:a:erlang:erlang\\/otp:*:*:*:*:*:*:*:*","versionStartIncluding":"29.0","versionEndExcluding":"29.0.2","matchCriteriaId":"F4AB1573-4E81-4338-B65A-B3C94C7249FA"},{"vulnerable":true,"criteria":"cpe:2.3:a:erlang:erlang\\/ssl:*:*:*:*:*:*:*:*","versionStartIncluding":"11.0","versionEndExcluding":"11.2.12.9","matchCriteriaId":"0CA14B60-463E-40CC-912B-C7F2CA378F10"},{"vulnerable":true,"criteria":"cpe:2.3:a:erlang:erlang\\/ssl:*:*:*:*:*:*:*:*","versionStartIncluding":"11.6","versionEndExcluding":"11.6.0.2","matchCriteriaId":"3B27962B-3148-468A-973A-9C1564E41697"},{"vulnerable":true,"criteria":"cpe:2.3:a:erlang:erlang\\/ssl:*:*:*:*:*:*:*:*","versionStartIncluding":"11.7","versionEndExcluding":"11.7.2","matchCriteriaId":"39203B38-8145-4DC7-9624-2EB224B7E6AA"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"48860","Ordinal":"1","Title":"Distribution-over-TLS LAN allowlist silently bypassed due to soc","CVE":"CVE-2026-48860","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"48860","Ordinal":"1","NoteData":"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.\n\nThe 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.\n\nThis vulnerability is associated with program file lib/ssl/src/inet_tls_dist.erl.\n\nThis 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.","Type":"Description","Title":"Distribution-over-TLS LAN allowlist silently bypassed due to soc"}]}}}