p PatchFirst

CVE-2026-48860

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

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 7.5 · High · EPSS 0.2% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • otp

    Versions
    • ≥ 26.0: Affected; ≥ 27.3.4.13: Not affected; ≥ 28.5.0.2: Not affected; ≥ 29.0.2: Not affected (otp)

    Update to 27.3.4.13

  • otp

    Versions
    • ≥ 11.0: Affected; ≥ 11.2.12.9: Not affected; ≥ 11.6.0.2: Not affected; ≥ 11.7.2: Not affected (otp)

    Update to 11.2.12.9

  • otp

    Versions
    • ≥ 7a08c5507862a7011568506d0c17b1fdef30bee4, < 0209a6df65d605552b378273027b3968b35f26b4: Affected (git)

    Update to 0209a6df65d605552b378273027b3968b35f26b4

  • erlang Debian:12

    Versions
    • 1:25.2.3+dfsg-1
    • 1:25.2.3+dfsg-1+deb12u1
    • 1:25.2.3+dfsg-1+deb12u2
    • 1:25.2.3+dfsg-1+deb12u3
    • 1:25.2.3+dfsg-1+deb12u4
    • 1:25.3.2.10+dfsg-1
    • 1:25.3.2.10+dfsg-2
    • 1:25.3.2.11+dfsg-1
    • 1:25.3.2.12+dfsg-1
    • 1:25.3.2.12+dfsg-2
    • 1:25.3.2.12+dfsg-3
    • 1:25.3.2.8+dfsg-1
    • 1:26.0+dfsg-1
    • 1:26.0.1+dfsg-1
    • 1:26.0.2+dfsg-1
    • 1:26.0~rc2+dfsg-1
    • 1:26.0~rc3+dfsg-1
    • 1:26.1.2+dfsg-1
    • 1:26.2.1+dfsg-1
    • 1:26.2.4+dfsg-1
    • 1:27.0+dfsg-1
    • 1:27.0.1+dfsg-1
    • 1:27.0.1+dfsg-2
    • 1:27.0.1+dfsg-3
    • 1:27.0~rc3+dfsg-1
    • 1:27.0~rc3+dfsg-2
    • 1:27.0~rc3+dfsg-3
    • 1:27.0~rc3+dfsg-4
    • 1:27.1.2+dfsg-1
    • 1:27.2+dfsg-1
    • 1:27.2+dfsg-2
    • 1:27.2+dfsg-3~exp1
    • 1:27.2.1+dfsg-1
    • 1:27.2.1+dfsg-2
    • 1:27.2.2+dfsg-1
    • 1:27.2.3+dfsg-1
    • 1:27.2.4+dfsg-1
    • 1:27.3+dfsg-1
    • 1:27.3.1+dfsg-1
    • 1:27.3.2+dfsg-1
    • 1:27.3.3+dfsg-1
    • 1:27.3.4+dfsg-1
    • 1:27.3.4.1+dfsg-1
    • 1:27.3.4.10+dfsg-1
    • 1:27.3.4.11+dfsg-1
    • 1:27.3.4.11+dfsg-2
    • 1:27.3.4.11+dfsg-3
    • 1:27.3.4.11+dfsg-4
    • 1:27.3.4.11+dfsg-5
    • 1:27.3.4.11+dfsg-6
    • 1:27.3.4.11+dfsg-7
    • 1:27.3.4.12+dfsg-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.8+dfsg-1
    • 1:27.3.4.9+dfsg-1
    • 1:28.0+dfsg-1
    • 1:28.0.1+dfsg-1
    • 1:28.0.2+dfsg-1
    • 1:28.0.4+dfsg-1
    • 1:28.1.1+dfsg-1
    • 1:28.2+dfsg-1
    • 1:28.3+dfsg-1
    • 1:28.3.1+dfsg-1
    • 1:29.0+dfsg-1
    • 1:29.0+dfsg-2
    • 1:29.0.1+dfsg-1
    • 1:29.0.2+dfsg-1
    • 1:29.0.3+dfsg-1
    • 1:29.0.4+dfsg-1
    • 1:29.0.6+dfsg-1
    • 1:29.0~rc1+dfsg-1
    • 1:29.0~rc1+dfsg-2
    • 1:29.0~rc2+dfsg-1
    • 1:29.0~rc3+dfsg-1
    • 1:29.0~rc3+dfsg-2
    • 1:29.0~rc3+dfsg-3
    • 1:29.0~rc3+dfsg-4
    • 1:29.1.1+dfsg-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • erlang Debian:13

    Versions
    • 1:27.3.4.1+dfsg-1
    • 1:27.3.4.1+dfsg-1+deb13u1
    • 1:27.3.4.1+dfsg-1+deb13u2
    Affected ranges
    • ECOSYSTEM: < 1:27.3.4.1+dfsg-1+deb13u3

    Update to 1:27.3.4.1+dfsg-1+deb13u3

  • erlang Debian:14

    Versions
    • 1:27.3.4.1+dfsg-1
    • 1:27.3.4.10+dfsg-1
    • 1:27.3.4.11+dfsg-1
    • 1:27.3.4.11+dfsg-2
    • 1:27.3.4.11+dfsg-3
    • 1:27.3.4.11+dfsg-4
    • 1:27.3.4.11+dfsg-5
    • 1:27.3.4.11+dfsg-6
    • 1:27.3.4.11+dfsg-7
    • 1:27.3.4.12+dfsg-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.8+dfsg-1
    • 1:27.3.4.9+dfsg-1
    • 1:28.0+dfsg-1
    • 1:28.0.1+dfsg-1
    • 1:28.0.2+dfsg-1
    • 1:28.0.4+dfsg-1
    • 1:28.1.1+dfsg-1
    • 1:28.2+dfsg-1
    • 1:28.3+dfsg-1
    • 1:28.3.1+dfsg-1
    • 1:29.0+dfsg-1
    • 1:29.0+dfsg-2
    • 1:29.0.1+dfsg-1
    • 1:29.0~rc1+dfsg-1
    • 1:29.0~rc1+dfsg-2
    • 1:29.0~rc2+dfsg-1
    • 1:29.0~rc3+dfsg-1
    • 1:29.0~rc3+dfsg-2
    • 1:29.0~rc3+dfsg-3
    • 1:29.0~rc3+dfsg-4
    Affected ranges
    • ECOSYSTEM: < 1:29.0.2+dfsg-1

    Update to 1:29.0.2+dfsg-1

  • erlang 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
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • erlang 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
    Affected ranges
    • ECOSYSTEM: < 1:27.3.4.6+dfsg-1ubuntu0.2

    Update to 1:27.3.4.6+dfsg-1ubuntu0.2

Original sources

Check your server →