CVE-2024-38359:
Lightning Network Daemon (LND)'s onion processing logic leads to a denial of service
6.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.72318%
CWE
Published
6/20/2024
Updated
11/18/2024
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
github.com/lightningnetwork/lnd | go | < 0.17.0-beta | 0.17.0-beta |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the HopPayload.Decode
function's failure to validate()
the payload length before memory allocation. The blog post explicitly shows the vulnerable code pattern where payloadSize
(from untrusted input) was used directly to allocate memory via make([]byte, payloadSize)
. The fix added a tlvPayloadSize
helper that enforces a maximum size (math.MaxUint16
), confirming this was the vulnerable entry point. The sphinx
package context matches LND's
onion processing implementation described in vulnerability reports.