Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
This commit updates Eclair's underlying Bitcoin library from version 0.47 to 0.48 and makes small code adjustments to match the new library's API. The changes touch how private keys are derived and how test data is converted. There is no d…
Dependency version bump of cryptographic Bitcoin libraryPrivate key derivation code modifiedTaproot/MuSig2 test vector code adjusted
This commit adds an experimental new Lightning channel type to Eclair called 'zero-fee commitments.' It is a large feature patch implementing a draft BOLT specification (PR 1228), not a fix for a known vulnerability. The change introduces …
Large feature addition (+1618/-276 across 42 files) touching consensus-sensitive transaction construction and signingNew experimental channel type disabled by default; requires explicit opt-in via eclair.confImplements draft BOLT specification (lightning/bolts#1228), not a finalized standard
This commit updates the PostgreSQL database driver used by the Eclair Lightning node software from version 42.7.8 to 42.7.11. The commit message says this fixes a vulnerability that could allow denial-of-service (DoS) attacks if a node con…
Dependency version bump for security fixVendor-disclosed potential DoS vector via untrusted database hostChecksum file updated for reproducible builds
This commit only adjusts a flaky unit test that checks transaction weight estimates. It widens the allowed tolerance for variable-length ECDSA signatures when two signatures are involved instead of one. There is no change to production cod…
This commit adds official Lightning channel splicing support to Eclair and replaces an experimental protocol. It includes backwards-compatibility shims for older Phoenix wallets, changes how reconnection messages request retransmission of …
Protocol state machine changes for interactive transaction signing and reconnection retransmissionBackwards-compatibility shim that multiplexes two protocol versions based on peer feature bitsTLV type-number collision handling between official and experimental splicing protocols
This commit changes how Eclair (a Bitcoin Lightning node) remembers its own closing signatures during a mutual channel close. Previously, the code re-generated signing nonces and re-signed closing transactions when the peer's signature arr…
MuSig2 nonce handling changed: local partial signatures are now stored and reused instead of regeneratedEarly signature validation added for peer's partial signature before final transaction aggregationRemoved CloserNonces helper that generated three random nonces per closing attempt
This commit updates the Eclair Lightning node software to support a new, backwards-compatible draft of the official Bitcoin Lightning 'splicing' protocol. It adds a funding transaction identifier to commitment signatures and introduces a '…
Adds disambiguation of commitment signatures by funding transaction ID, reducing risk of applying a signature to the wrong commitment during multi-funding splicingIntroduces a new odd-length message (start_batch) and odd TLV (FundingTx), which unknown peers should ignore per Lightning spec conventionsMaintains legacy experimental batch TLV for backwards compatibility
This commit adds a new testing-only module that uses a fuzzing tool called Jazzer to automatically throw random data at Eclair's Lightning message parsers. It does not change any production code, network behavior, or security logic. It is …
New test-only fuzzing module addedNo production code changesNo network-facing or cryptographic logic modified
This commit updates Eclair to use a newer version of its underlying Bitcoin library (bitcoin-lib 0.47). Most changes are mechanical: replacing local helper functions with new library-provided equivalents for encoding signatures and signing…
Dependency version bump for bitcoin-lib and secp256k1-kmpRefactor of ECDSA signature encoding/signing code pathsRemoval of local DER conversion helpers in favor of library-provided methods
This commit is a refactoring and observability improvement for the Eclair Lightning node. It adds start/end timestamps to payment events and failures, renames some timestamp fields for consistency, and updates how payment hashes are derive…
Refactoring of payment event data model with new timestamp fieldsPayment hash now derived from preimage instead of passed separatelyRemoval of WaitingToRelayPayment from JSON type hints
This commit updates Eclair to use a newer version of its underlying Bitcoin library (bitcoin-lib 0.46). The main change is a code refactor in how Taproot addresses and scripts are created: instead of passing an optional script tree, caller…
Dependency version bump (bitcoin-lib 0.45.1 -> 0.46)Taproot script construction API refactorNo explicit security claim in commit message or diff
This is a routine dependency update for Eclair, a Bitcoin Lightning node. It bumps the internal 'bitcoin-lib' library from version 0.45 to 0.45.1 and its related 'bitcoin-kmp-jvm' component from 0.28.0 to 0.28.1. The commit message says th…
Dependency version bump onlyNo source code changes in commitNo security-related wording in commit message or diff
This commit adjusts how Eclair estimates the 'weight' (a measure of transaction size used to calculate Bitcoin mining fees) for funding inputs in Lightning channel transactions. It increases the assumed signature size from 72 to 73 bytes, …
Fee-estimation mismatch between implementations could cause interactive-tx negotiation failuresUnder-estimated weight could lead to insufficient fees if a 73-byte high-S signature is accepted by minersChange aligns with BOLT 3 recommendation and LDK behavior
This commit fixes a bug in Eclair, a Bitcoin Lightning Network node implementation. When a user tried to buy extra spending capacity (a 'liquidity purchase') and the remote peer backed out after the local node had already signed, Eclair ke…
Fixes a denial-of-service / availability issue where upstream HTLCs were held until near CLTV expiry after a peer-aborted liquidity purchaseAdds explicit handling for tx_abort after local signing in dual-funded opens and splicesIntroduces LiquidityPurchaseAborted event and matching cleanup in Peer
This commit is a small cleanup pull request titled 'Nits'. It fixes a typo in documentation, corrects a log message to show the right commitment format name, changes a debug log to info level for transaction signing, adds structured loggin…
This commit removes support for older Lightning channel types ('static_remotekey' and 'default' channels) from the Eclair node software. It is a deliberate feature-removal change announced in the previous release. The main risk is operatio…
Removal of legacy commitment format support reduces attack surface for fee-manipulation and transaction-malleability issues present in pre-anchor channels.Simplified fee tolerance removes the 'too low' feerate check, relying on anchor/taproot CPFP/RBF behavior.Explicit channel_type requirement prevents silent downgrade to weaker channel types.
This commit refactors how Eclair stores closed Lightning channels. Instead of keeping all closed channel data in the same table as active channels, it moves them to a dedicated table with only essential summary information. The main stated…
DoS mitigation: channels that never confirmed or had nothing at stake are no longer persisted in the databaseDatabase schema migration removes foreign key constraint on htlc_infosNew closed-channel data class stores only minimal, stringified fields to avoid future backwards-compatibility issues
This commit updates Eclair's underlying bitcoin-lib dependency from version 0.41 to 0.43.2 and adjusts Eclair's code to match the new library's API. The changes are mostly mechanical: switching how Musig2 nonces and Taproot script trees ar…
Dependency version bump of core cryptographic library (bitcoin-lib 0.41 -> 0.43.2, secp256k1-kmp 0.18.0 -> 0.19.0)Refactoring of MuSig2 nonce handling and Taproot script tree constructionRemoval of Kotlin interop conversions around cryptographic types
This commit fixes a bug in Eclair's dual-funded Lightning channel logic. When opening or splicing a channel using taproot (P2TR) inputs, each participant's wallet needs full details about every input in the transaction, not just its own. P…
Fixes a signing failure in taproot interactive dual-funding/splicingPSBT now includes all remote inputs, satisfying BIP-341 all-inputs signature commitmentPreviously tests hid the bug by sharing a single dummy wallet between both parties
This commit only adds a new test case to Eclair's invoice parsing tests. It checks that a specific Bitcoin Lightning invoice with a non-standard 'high-S' signature can still be decoded and that the sender's public key is recovered correctl…
Test-only change: no production code modifiedRelates to BOLT 11 signature malleability / high-S acceptanceReferences upstream BOLT specification change (bolts PR 1284)
In https://github.com/ACINQ/eclair/pull/2993, we introduced a mechanism in the default Bolt12 offer handler to let the recipient pay the fees of the blinded paths they include in their Bolt12 invoices, instead of the payer having to pay fees for privacy chosen by the recipient (when the recipient decides to use a "real" blinded path with external nodes they don't control).
This wasn't correctly taking MPP into account: payers could split the payment in many tiny parts such that each part used the whole path fee discount. As a result, the payer would have still paid the whole amount but most of it would be collected by intermediate nodes inside the path instead of the recipient, which isn't the goal.
We're thus disabling this feature: we'll need a cleaner protocol to correctly account for MPP with base fees. Bolt12 isn't used yet by merchants so it's fine: we'll wait for recipients to adopt it before deciding how we introduce a blinded path fee discount feature (if this is something that users request). Note that we also recommend users to implement their own offer handler to customize their blinded paths, if they care about privacy, instead of using the default handler which is mostly there as a reference.
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
If the first DB write of a channel fails, we want to abort the channel immediately, otherwise our state may be unusable. If for some reason we already have a channel (for example because of a partial restore from a DB backup), we want to avoid overwriting this state as well.
* Add global `channel_id`s collision resistance
We add a global, concurrent map that keeps track of every temporary and final `channel_id` being used. We always add to this map before creating channel actors or transitioning to a final `channel_id` (and thus before storing channel data in the DB).
We only remove from that map when a channel actor dies: no other channel can be associated with the corresponding temporary or final `channel_id` since the channel was created after registering the IDs.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
Apply RBF limits to remote closing transactions (#3331)
* Apply RBF limits to remote closing transactions
When using `option_simple_close`, we didn't apply explicit rate-limits to remote closing transactions, apart from the fact that the feerate must be higher for each attempt.
There is no good reason to make a large number of RBF attempts when closing a channel cooperatively, so we apply the same rate-limits we use for funding.
* Bound the number of local closing transactions
We apply the BOLTs recommendation for the maximum number of closing transactions we create when using the legacy closing protocol (not `option_simple_close`). We previously restricted remote closing transactions, but we now also apply it to our local transactions.
* Apply the maximum attempts limit to splice RBF
We previously only applied the rate-limit (X attempts every Y blocks) but we didn't apply the maximum attempts limit. The risk is that we may end up with a splice that is stuck unconfirmed, but will eventually confirm, unless the peer is malicious and the feerate was very badly estimated (in which case they would have found a way to prevent the splice from confirming anyway).
93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
If our peer is buggy, or if we have a bug in our message queue, we may receive duplicate settlement messages for pending HTLCs. It is fine to handle them and relay the settlement downstream (instead of immediately force-closing), but we shouldn't store the duplicate settlement in the remote changes, otherwise it will trigger a force-close when exchanging `commit_sig`.
88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
We previously rejected Bolt12 invoices when a reply path was provided in the onion message. This wasn't in the spec, and it could make sense to provide a specific reply path with an invoice in case the payer considers the invoice invalid and wants to send back an invoice_error to inform the recipient.
This created compatibility issues with LDK.
Fixes #3322
76/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
When our peer sends us an invalid `tx_signatures`, we processed it and ignored the failure when we've already sent our own `tx_signatures`, because the transaction may be broadcast and may confirm anyway.
We now stop processing those invalid `tx_signatures` repeatedly: if our peer sends us more than 3 invalid `tx_signatures` for a given funding transaction, they're definitely buggy so we'll just wait for the transaction to confirm without trying to obtain the fully signed one locally.
We also now avoid unnecessary DB writes on `shutdown`. We don't need to write to the DB every time we receive `shutdown` from our peer, since the BOLTs require `shutdown` to be retransmitted on reconnection.
88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
Reject `temporary_channel_id` duplicates early (#3324)
We previously rejected duplicate `temporary_channel_id` immediately, but we didn't immediately reject `temporary_channel_id`s that conflict with a *final* `channel_id` with the same peer: the rejection would happen later in the flow when transitioning from temporary to final IDs, which made debugging harder.
Since the channel interceptor step isn't atomic, we must check for duplicate channel IDs *after* rate-limiting, to ensure that we don't try inserting an entry in the channels map that is already there.
93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
Lower-priorityReject incoming HTLCs with a high `cltv_expiry` (#3323)by Bastien Teinturier · 7fb94601 · Jul 8, 2026 · 4 filesMessage 93 · StrongTriage 0Details
Commit message · Bastien Teinturier
Reject incoming HTLCs with a high `cltv_expiry` (#3323)
We currently reject HTLCs with a `cltv_expiry` higher than 2 weeks in the future when sending them (in the `sendAdd` method). That's because they would lock up our funds for a long period of time if our peer decided to force-close. Also, a large `cltv_expiry` makes slow jamming easier.
We now apply the same limits to incoming HTLCs for consistency (since they may differ by `cltv_expiry_delta`). Note that we don't do it in the `receiveAdd` function, which would trigger a force-close. We just accept those HTLCs and then fail them, since it is harmless to have them only temporarily in our commitment as long as we don't relay.
93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 22/100
This commit updates Eclair's underlying Bitcoin library from version 0.47 to 0.48 and makes small code adjustments to match the new library's API. The changes touch how private keys are derived and how test data is converted. There is no direct evidence in the commit that this fixes a security vulnerability, but library updates can include bug fixes or improvements that affect cryptographic handling.
We refactor the attribution data code to make it more consistent with the rest of the Sphinx-related code. We add comments and intermediate variables to make it more readable. We introduce intermediate classes to hold data and add better symmetry between the success and failure cases.
This will make it easier to implement trampoline attribution and add fulfillment data (https://github.com/lightning/bolts/pull/1344).
* Refactor trampoline attribution data
We correctly extract shared secrets (including trampoline shared secrets) and detect when we're inside a blinded path to avoid including attribution data. Note that we don't use the trampoline shared secret yet, since full trampoline isn't implemented (see https://github.com/ACINQ/eclair/pull/2819 for the full changes).
We add tests for attribution data with blinded paths and trampoline payments.
88/100 · StrongMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive path
Lower-priorityRemove deprecated `bip125 replaceable` field in mempool transaction class (#3319)by Fabrice Drouin · cfe47a8c · Jun 17, 2026 · 2 filesMessage 81 · StrongTriage 0Details
Commit message · Fabrice Drouin
Remove deprecated `bip125 replaceable` field in mempool transaction class (#3319)
`bip125-replaceable` field in Bitcoin Core RPC had been deprecated since v29 and has now been removed. Full RBF has been the default policy since v28.
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Lower-prioritySend `splice_locked` if necessary while reconnecting (#3318)by Bastien Teinturier · 7fb62fc5 · Jun 11, 2026 · 2 filesMessage 81 · StrongTriage 0Details
Commit message · Bastien Teinturier
Send `splice_locked` if necessary while reconnecting (#3318)
When we lock a commitment while reconnecting, we currently have a bug where if we've sent our `channel_reestablish` but we haven't received the remote `channel_reestablish`, we will not send `splice_locked` which results in a mismatch in the expected number of `commit_sig` messages for our peer, triggering a force-close.
We now send `splice_locked` when we are in the `SYNCING` state when that makes sense. The logic is very similar to the `NORMAL` state, but we don't emit events that are meant to be used when the channel is ready to handle payments.
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
AI review queuedBack to dev (#3313)by Bastien Teinturier · 2dda7946 · May 21, 2026 · 8 filesMessage 36 · OpaqueTriage 0Details
Commit message · Bastien Teinturier
Back to dev (#3313)
After the 0.14.0 release.
36/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
When using blinded paths in our Bolt12 invoices, we may use a feature where instead of making the payer pay the fees for the blinded path, we deduce them from the amount we wish to receive (the recipient pays for the privacy it gains from using blinded paths, instead of making the payer pay for something that they didn't opt into). See #2993 for more details.
The constraint on path fees was wrong in some rounding cases, so we fix that, otherwise we would unnecessarily reject some payments. This was found by testing blinded trampoline payments.
98/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Security candidateAdd support for zero-fee commitment format (#3192)by Bastien Teinturier · 35403401 · May 20, 2026 · 42 filesMessage 100 · StrongLow 34Details
Commit message · Bastien Teinturier
Add support for zero-fee commitment format (#3192)
* Add support for zero-fee commitment format
We add support for the zero-fee commitment format specified in https://github.com/lightning/bolts/pull/1228.
Channels using this commitment format benefit from better protection against pinning attacks (thanks to TRUC/v3 transactions), don't need the `update_fee` mechanism, have less dust exposure risk, and use an overall simpler state machine.
In this commit, we simply introduce the commitment format and create the corresponding transactions.
* Rename `ClaimRemoteDelayedOutputTx`
It isn't delayed anymore for v3 transactions. We could use static wallet public key, but in most cases it wouldn't work and adds extra complexity so we don't do it. We add a comment in the documentation of this class to explain why we're always making a 2nd-stage transaction.
* Validate channel parameters
We apply slightly different validation for zero-fee commitments:
- the commit feerate must be `0 sat/byte` - the max number of accepted HTLCs must be at most 114 - `update_fee` cannot be used
We verify those requirements during channel creation and add tests for normal channel operation.
* Handle force-closing zero-fee channels
We add support for force-close zero-fee channels. When publishing the local commit, this works mostly the same way as other channel types. The only difference is that we don't even attempt to publish the commit tx individually: we always bundle it with the anchor transaction.
When we detect the remote commit though, we're able to introduce some new behavior:
- if we have a large enough main output, we use that to pay the fees of the remote commit tx (unless it is already confirmed), which avoids using a wallet input - otherwise, we spend the anchor output, which competes with the remote peer package
Since we're only using the anchor transaction or our main output to spend the ephemeral anchor, we cannot publish HTLC txs until the commit tx is confirmed. We will in the future make *all* transactions go through the `ReplaceableTxPublisher`, and at the point we'll be able to simplify this, but it's too early for this refactoring, so for now we simply wait for the commit tx to be confirmed before publishing HTLC txs.
* Don't force-close on remote `error`
When using zero-fee commitments, we don't force-close when receiving an `error` from our peer: if they want to force-close the channel, they can publish their commitment instead of forcing us to publish ours. It is especially true when the commit tx doesn't pay any fees, because the publisher will pay the entire fees for the force-close.
Note that for wallet peers, we could introduce a mechanism where they send us their signed commit tx in the error message if they don't have any wallet input to pay the fees, and we could be nice and publish it while paying the fees from our main output (which isn't delayed since it is the remote commit from our point of view).
100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
explicit security languagedefensive validationsigning or wallet path
AI analysis · Low 34/100
This commit adds an experimental new Lightning channel type to Eclair called 'zero-fee commitments.' It is a large feature patch implementing a draft BOLT specification (PR 1228), not a fix for a known vulnerability. The change introduces new transaction formats, validation rules, and force-close behavior. Because it is experimental, disabled by default, and extensively tested, it is unlikely to be an immediate security issue, but any large change to consensus-sensitive transaction code carries risk of subtle bugs.
Lower-priorityChange RBF feerate bump rule to match BIP125 (#3298)by Bastien Teinturier · 06538ada · May 19, 2026 · 1 fileMessage 81 · StrongTriage 0Details
Commit message · Bastien Teinturier
Change RBF feerate bump rule to match BIP125 (#3298)
The 25/24 multiplicative feerate bump for `tx_init_rbf` can produce increments too small for Bitcoin Core to relay the replacement transaction under BIP125's minimum relay fee policy (default `incrementalRelayFee` of 0.1 sat/vB since Bitcoin Core v30.0). Add a minimum additive increment of 25 sat/kw alongside the existing multiplicative rule, using whichever produces a higher feerate.
See https://github.com/lightning/bolts/pull/1327
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Lower-priorityUpdate features early on reconnection (#3310)by pm47 · 8876ef18 · May 12, 2026 · 2 filesMessage 65 · AdequateTriage 0Details
Commit message · pm47
Update features early on reconnection (#3310)
Otherwise some upgrade paths may fail.
65/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Lower-priorityFix edge case in `availableBalanceForSend/Receive` (#3308)by Bastien Teinturier · befdcd54 · May 12, 2026 · 1 fileMessage 91 · StrongTriage 5Details
Commit message · Bastien Teinturier
Fix edge case in `availableBalanceForSend/Receive` (#3308)
There was a small discrepancy between `availableBalanceForSend/Receive` and `canSendAdd/canReceiveAdd` when the sender is not paying the commit tx fees. In `canSendAdd/canReceiveAdd`, we verify that the receiver (who pays the commit fees) can still pay those fees after adding the new HTLC to the commit tx. In `availableBalanceForSend/Receive`, we did not verify that.
This only happens in very rare cases where the receiver is paying the commit fees and is very close this its channel reserve, so it should rarely happen in practice, but it sometimes makes our fuzz tests fail.
91/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
fuzzing or regression evidence
Lower-priorityCompute channel keys once on on startup (#3306)by Bastien Teinturier · e1330154 · May 7, 2026 · 10 filesMessage 86 · StrongTriage 0Details
Commit message · Bastien Teinturier
Compute channel keys once on on startup (#3306)
We compute channel keys when we load and verify channels from our database, and pass them along instead of re-computing them later (which can be expensive when done at scale).
Implemented by @sstone, with small modifications by @t-bast.
86/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Security candidateBump org.postgresql:postgresql version (#3305)by Bastien Teinturier · 76da19f1 · May 7, 2026 · 2 filesMessage 81 · StrongLow 36Details
Commit message · Bastien Teinturier
Bump org.postgresql:postgresql version (#3305)
This fixes a vulnerability, which doesn't apply to eclair in known deployements, but is worth fixing in case some nodes use untrusted database hosts which could lead to DoS attacks.
81/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
This commit updates the PostgreSQL database driver used by the Eclair Lightning node software from version 42.7.8 to 42.7.11. The commit message says this fixes a vulnerability that could allow denial-of-service (DoS) attacks if a node connects to an untrusted database host. The developers state it does not affect known Eclair deployments, but they are patching it as a precaution.