Skip to content

Failure to reject dust_limit_satoshis below 354 sat #9403

Description

@morehouse

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions