Eclair merges fixes for Lightning fee vulnerabilities

Eclair merged fixes on Oct. 2 and 5 for Lightning flaws that could expose nodes to excessive Bitcoin fees during channel funding, splicing and signer-mode transactions.

Eclair, ACINQ’s Lightning node software, merged two fixes for flaws that could make operators pay excessive fees to Bitcoin miners during channel funding and splicing. One fix limits fee increases requested by peers; the other checks transactions built by a Bitcoin backend when Eclair retains the signing keys.

The changes were merged into Eclair’s master branch on Oct. 2 and Oct. 5. As of Oct. 12, the project’s release page still listed September’s v0.14.3 as its latest release. The October changes had not yet been included in a newer listed release.

The first fix, PR #3388, covers replace-by-fee transactions used during dual-funded channel openings and channel splices. In these transactions, both participants can provide Bitcoin, while either peer can request a replacement with a higher mining fee.

Before the fix, Eclair could continue paying the higher fee for its own inputs without an upper limit or fee budget. A malicious peer could therefore force the Eclair operator to pay an arbitrarily high fee while contributing no funds to cover the cost.

The fix rejects replacement transactions whose fee rate exceeds the maximum level Eclair recommends to its peer. The limit does not apply when the peer buys liquidity and pays the fees for Eclair’s inputs, or when Eclair contributes no funds to the transaction.

The second fix, PR #3390, covers Eclair-signer mode. In this setup, Bitcoin Core’s bitcoind backend selects coins and builds transactions, while Eclair retains the signing keys.

A compromised backend could report a fee within the permitted budget while creating a transaction with a higher actual fee. It could do this by removing a change output. Bitcoin treats input value that is not assigned to an output as a miner fee, so missing change could cause the node to lose Bitcoin without sending funds to an attacker.

The fix calculates the fee from the value of the inputs being spent. Eclair retrieves those values by transaction ID, checks them against the backend’s reported fee and applies the budget to the verified amount. It also checks that rebuilt contributions pay the same verified fee and rejects transactions with invalid change-output positions.

The fixes cover dual funding, channel splicing and signer configurations. They are separate from a cooperative-closing fee flaw reported in September and restart-related denial-of-service issues addressed on Oct. 2. Operators can check whether their installed Eclair build contains the October changes.

Articles by this author