Bugs
Bugs we’ve found. Security findings also get a full write-up under advisories.
39 bugs · 16 fixed · 4 implementations
LND 7 · 3 fixed
| Bug | Impact | Status | Reported | Credit | Links |
|---|---|---|---|---|---|
| Channel-open race with latent nil dereference | race | reported | Niklas Gögge, Matt Morehouse | issue | |
Failure to reject open_channel with zero feerate_per_kw | grief | reported | Nishant Bansal | issue | |
Empty channel_type TLV negotiates a legacy channel | spec | fixed | Matt Morehouse | issuefix | |
| Failure to reject absurdly high channel feerates | spec | reported | Matt Morehouse | issue | |
Absent channel_type TLV negotiates a legacy channel | spec | fixed | Nishant Bansal | fix | |
| Incorrect signature verification edge case | spec | reported | Matt Morehouse | issue | |
Gossiper shutdown deadlock in discovery | liveness | fixed | Matt Morehouse, Nishant Bansal | fix |
Core Lightning 18 · 5 fixed
| Bug | Impact | Status | Reported | Credit | Links |
|---|---|---|---|---|---|
channeld aborts on large update_add_htlc amount | crash | reported | Niklas Gögge, Matt Morehouse | issue | |
| Failure to reject a splice contribution that takes out more than the peer’s balance | spec | reported | Erick Cestari | issue | |
Failure to reject tx_init_rbf after the peer sent splice_locked | spec | reported | Erick Cestari | issue | |
wrap_onionreply() passes an empty reply’s NULL contents as libsodium’s nonnull output | ub | reported | Nishant Bansal | fix | |
reply_channel_range for an unknown chain omits the encoded_short_ids encoding type | spec | reported | Nishant Bansal | fix | |
openingd aborts on funding_created with a zero funding_txid | crash | reported | Nishant Bansal | issue | |
accept_channel sets channel_reserve_satoshis below our own dust_limit_satoshis | crash | reported | Matt Morehouse | issue | |
Failure to reject tx_add_output amounts above the total bitcoin supply | crash | reported | Erick Cestari | issue | |
Failure to reject open_channel where the funder cannot pay the commitment fee | spec | reported | Matt Morehouse | issue | |
channeld leaves tx_sigs_allowed uninitialized on startup | uninit | fixed | Erick Cestari | fix | |
dualopend leaves state->reconnected uninitialized on startup | uninit | fixed | Erick Cestari | fix | |
| Failure to reject absurdly high channel reserves | spec | reported | Nishant Bansal | issue | |
Failure to reject option_scid_alias on an announced channel | spec | reported | Nishant Bansal | issue | |
Failure to reject dust_limit_satoshis below 354 sat | spec | reported | Matt Morehouse | issue | |
Zombie connection after lightningd ignores connectd_peer_spoke | liveness | reported | Matt Morehouse | issue | |
marginal_feerate() overflows instead of saturating | ub | fixed | Matt Morehouse | fix | |
Duplicate funding outpoint creates channels with the same channel_id | spec | fixed | Nishant Bansal | issuefix | |
openingd crashes on assertion when funding_satoshis exceeds the wally maximum | crash | fixed | Nishant Bansal | issuefix |
LDK 2 · 1 fixed
| Bug | Impact | Status | Reported | Credit | Links |
|---|---|---|---|---|---|
| Failure to reject absurdly high channel reserves | spec | reported | Matt Morehouse | issue | |
to_self_delay size omitted from DelayedPaymentOutput weight calculation | debug-assert | fixed | Matt Morehouse | fix |
Eclair 11 · 7 fixed
| Bug | Impact | Status | Reported | Credit | Links |
|---|---|---|---|---|---|
Failure to reject splice_init that overdraws the sender’s balance | spec | reported | Erick Cestari | issue | |
Failure to reject tx_init_rbf after splice_locked | spec | reported | Erick Cestari | issue | |
Failure to reject open_channel where the funder cannot pay the commitment fee | spec | reported | Matt Morehouse | issue | |
Failure to reject option_scid_alias on an announced channel | spec | reported | Nishant Bansal | issue | |
Failure to reject funding_satoshis > MAX_MONEY | spec | fixed | Matt Morehouse | issuefix | |
Failure to validate channel_reserve_satoshis against dust_limit_satoshis | spec | fixed | Matt Morehouse | issuefix | |
open_channel race orphans channel actors | dos | fixed | Matt Morehouse | fix | |
| Incorrect signature verification edge cases | spec | fixed | Matt Morehouse | issuefix | |
| Malformed messages silently dropped instead of closing the connection | spec | fixed | Matt Morehouse | issuefix | |
| Unbounded zlib decompression of channel queries | dos | fixed | Matt Morehouse | fix | |
| Feature bit parsing allocates per bit | dos | fixed | Matt Morehouse | fix |
BOLT spec 1 · 0 fixed
| Bug | Impact | Status | Reported | Credit | Links |
|---|---|---|---|---|---|
| Incorrect HTLC deductions in Appendix C/F test vectors | spec | reported | Nishant Bansal | issue |