BOLT 2 requires the receiver of open_channel to fail the channel when dust_limit_satoshis < 354. CLN has no such bounds check on the peer's dust limit, and a peer can open a channel with a dust limit as low as 1 sat.
Impact
Both openingd and dualopend are affected. The immediate effect is that the peer's commitment transactions can end up being non-standard (containing dust outputs) and will be rejected from the mempool. This is very bad for the peer but only becomes an issue for CLN if it needs the peer to force close for some reason (e.g., data loss recovery). Other than that, this is purely a spec-compliance issue.
Discovery
This bug was found while fuzzing the v1 funding protocol with smite.
BOLT 2 requires the receiver of
open_channelto fail the channel whendust_limit_satoshis < 354. CLN has no such bounds check on the peer's dust limit, and a peer can open a channel with a dust limit as low as 1 sat.Impact
Both
openingdanddualopendare affected. The immediate effect is that the peer's commitment transactions can end up being non-standard (containing dust outputs) and will be rejected from the mempool. This is very bad for the peer but only becomes an issue for CLN if it needs the peer to force close for some reason (e.g., data loss recovery). Other than that, this is purely a spec-compliance issue.Discovery
This bug was found while fuzzing the v1 funding protocol with smite.