FlawAtlas
Search the atlas
CVE-2026-48860 High

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

## 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 29.0.2, OTP 28.5.0.2 and OTP 27.3.4.13, corresponding to ssl from 11.0 before 11.7.2, 11.6.0.2 and 11.2.12.9. ## Workaround Implement a custom verify\_fun SSL option that correctly checks the peer IP address using inet:peername/1 on the socket. ## Configuration 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.

Exploit probability 0.2%
Published June 10, 2026
Required by Not available
Last source change July 30, 2026

02 / AFFECTED SOFTWARE

Affected packages

Unknown Unknown

33 explicit affected versions

Unknown Unknown

03 / CONNECTIONS

Connected vulnerabilities

04 / EVIDENCE

Source records

Open Source Vulnerabilities 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 29.0.2, OTP 28.5.0.2 and OTP 27.3.4.13, corresponding to ssl from 11.0 before 11.7.2, 11.6.0.2 and 11.2.12.9.

View original source
Open Source Vulnerabilities EEF-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 29.0.2, OTP 28.5.0.2 and OTP 27.3.4.13, corresponding to ssl from 11.0 before 11.7.2, 11.6.0.2 and 11.2.12.9. ## Workaround Implement a custom verify\_fun SSL option that correctly checks the peer IP address using inet:peername/1 on the socket. ## Configuration 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.

View original source

05 / REFERENCES

Further evidence