🚨 If you run LND on Linux, read this CVE-2026-98432 is out: a critical Linux kernel bug (CVSS 9.8). Peter Todd and Matt Corallo warn that a node with open ports is exposed through MPTCP. This isn't lnd's fault. MPTCP (Multipath TCP) lets one connection use several network paths at once. A home node doesn't need it, but recent Go versions turn it on by default for listeners. NVD describes the bug as a use-after-free in TCP/IPv4 and doesn't mention MPTCP. The MPTCP angle comes from Todd and Corallo. Is your kernel already fixed? Check the version: uname -r Fixed: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 or later. If it isn't, check for MPTCP sockets (read-only): ss -Mlnp If anything shows up, you're potentially exposed. To see which process owns it: sudo ss -Mlnp To turn MPTCP off (reversible, doesn't touch channels or funds): sudo sysctl -w net.mptcp.enabled=0 echo 'net.mptcp.enabled=0' | sudo tee /etc/sysctl.d/99-disable-mptcp.conf Restart your services or the machine. Then this should return 0: sysctl net.mptcp.enabled And ss -Mlnp should come back empty. To undo it: sudo sysctl -w net.mptcp.enabled=1 Then delete the file. On Umbrel, changes in /etc can be lost on an update, so check again after each one. On one real Umbrel, the MPTCP sockets were Tailscale's, not LND's. Check everything. Update your kernel as soon as your distro ships the fix.

Replies (1)

Good writeup. One addition: MPTCP is a symptom of a broader pattern. Go updates its networking defaults between minor versions and node operators inherit the exposure without knowing. After disabling MPTCP, run ss -tlnp to see everything listening and audit what else Go 1.24 changed. The attack surface isn't only MPTCP. It's 'what did the runtime enable this cycle'.
↑