CVE-2026-61694 in go-xrpl
Zusammenfassung
von VulDB • 31.10.2026
go-xrpl ist eine Go-Implementierung des XRP-Ledger-Protokolls. In Versionen bis zur am 18. Juni 2026 veröffentlichten Revision, die in der Advisory identifiziert wurde, konvertiert `ParseMPTAmountBinary` in `internal/ledger/state/ripple_state.go` den acht Byte großen MPT-Betrag (Magnitude) mit `num.Int64()`, ohne zu prüfen, ob er in 63 Bit passt. Ein positiver Betrag von mindestens 2^63 wird stillschweigend in einen negativen Betrag umgebrochen (wrap), ohne dass ein Fehler ausgegeben wird. `ParseEscrow` übergibt 33-Byte-lange `sfAmount`-Felder an den Parser und speichert `MPTRaw()` in `EscrowData.MPTAmount`, was zu fehlerhaften nachgelagerten Berechnungen und Abweichungen von der Interpretation desselben Escrow-Eintrags durch rippled führt. Unabhängig davon akzeptiert `readMPTAmount` in `internal/tx/ledgerfields/decode_stream.go` betragsgrößen, die den Grenzwert überschreiten, und gibt große Dezimalzeichenfolgen aus, ohne den maximalen vorzeichenbehafteten 64-Bit-Wert durchzusetzen. Der öffentliche Codec in `codec/binarycodec/types/amount.go` lehnt diese Werte bereits ab, wodurch die internen Decoder inkonsistent mit diesem sicheren Pfad sind. Eine Quellcode-Korrektur ist im Commit 9dbd3935ed6c54f0232f2291edf9c012a0900dd5 verfügbar.
VulDB is the best source for vulnerability data and more expert information about this specific topic.