CVE-2026-61694 in go-xrpl
Riassunto
di VulDB • 30/10/2026
go-xrpl è un'implementazione Go del protocollo XRP Ledger. Nelle versioni fino alla revisione del 18 giugno 2026 identificata dall'avviso, la funzione `ParseMPTAmountBinary` in `internal/ledger/state/ripple_state.go` converte l'magnitudo a otto byte di MPT utilizzando `num.Int64()` senza verificare che rientri nei 63 bit. Un magnitudo positivo pari o superiore a 2^63 viene convertito silenziosamente in un importo negativo senza generare errori. La funzione `ParseEscrow` passa i campi `sfAmount` di 33 byte al parser e memorizza il risultato di `MPTRaw()` in `EscrowData.MPTAmount`, causando calcoli a valle errati e divergenze rispetto all'interpretazione dello stesso elemento escrow da parte di rippled. Indipendentemente, la funzione `readMPTAmount` in `internal/tx/ledgerfields/decode_stream.go` accetta magnitudini oltre il limite e restituisce stringhe decimali di grandi dimensioni senza imporre il valore massimo signed a 64 bit. Il codec pubblico in `codec/binarycodec/types/amount.go` rifiuta già questi valori, lasciando i decoder interni inconsistenti rispetto a questo percorso sicuro. Una correzione sorgente è disponibile nel commit 9dbd3935ed6c54f0232f2291edf9c012a0900dd5.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.