PT-2026-134174
CVE-2026-61694
·
Published
2026-10-30
·
Updated
2026-10-30
Description by
CVSS 3.1
3.7
LowMetricsAV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
go-xrpl is a Go implementation of the XRP Ledger protocol. In versions through the June 18, 2026 revision identified by the advisory,
ParseMPTAmountBinary in internal/ledger/state/ripple state.go converts the eight-byte MPT magnitude using num.Int64() without checking that it fits in 63 bits. A positive magnitude of at least 2^63 silently wraps into a negative amount without an error. ParseEscrow passes 33-byte sfAmount fields to the parser and stores MPTRaw() in EscrowData.MPTAmount, causing incorrect downstream calculations and divergence from rippled's interpretation of the same escrow entry. Independently, readMPTAmount in internal/tx/ledgerfields/decode stream.go accepts over-limit magnitudes and surfaces large decimal strings without enforcing the maximum signed 64-bit value. The public codec in codec/binarycodec/types/amount.go already rejects these values, leaving the internal decoders inconsistent with that safe path. A source fix is available in commit 9dbd3935ed6c54f0232f2291edf9c012a0900dd5. Found an issue in the description? Have something to add? Feel free to write us 👾