AN ECLAIR NODE COULD BE KNOCKED OFF THE LIGHTNING NETWORK BY ANY PEER THAT BOTHERED TO CONNECT — ONE BUG FOUND BY A FUZZER, THE OTHER BY AN LLM READING THE CODE
Matt Morehouse published two Eclair denial of service disclosures on September 24, 2026. Both are already fixed in v0.14.0. Both let a stranger who could open a connection do far more damage than the connection cost him.
The first one is arithmetic. Eclair v0.13.1 and earlier read a peer's feature bits one bit at a time and allocated several heap objects for every bit. A single maximum length init message burned about 300 MB of heap and held a parsing thread for up to 300 ms. Send enough of them and, in Morehouse's words, an attacker could “disconnect all the victim’s peers within a minute and run it out of memory within five.”
The second one is older than the bug. BOLT 7 retired zlib encoding for channel queries in 2022. Eclair kept accepting it for four more years with no limit on how far the data could expand, so a 64 KB query inflated to 64 MB and decoded into about 17 million heap objects. That is 1,024 bytes arriving at the node for every byte the attacker sent. Morehouse did not find that one with a fuzzer. He pointed an LLM at the codebase looking for other places a peer could make the node work harder than the peer does, and it flagged the zlib codec.
Neither bug moves a coin, and nobody says one did. What they move is the node's attention. lnfuzz records that the zlib flood stalls a node's API and its block processing, and a Lightning node that has stopped reading blocks is a node that cannot notice a counterparty publishing an old channel state. Custody on Lightning is a standing promise that your machine is awake and looking. These were two ways for somebody else to decide that it was not. At the time of this writing, bitcoin was $84,672.
Terms in this story: Node