Katalog CVE

CVE-2026-61694

NiskieCVSS 3.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.28%

Percentyl 20 - wyżej niż 20% wszystkich znanych CVE

Streszczenie

W go-xrpl, implementacji protokołu XRP Ledger w Go, funkcja ParseMPTAmountBinary konwertuje ośmiobajtową wartość MPT za pomocą num.Int64() bez sprawdzenia, czy mieści się w 63 bitach, co powoduje ciche przepełnienie dodatniej wartości do liczby ujemnej. Dodatkowo readMPTAmount akceptuje wartości przekraczające limit, co prowadzi do niepoprawnych obliczeń i rozbieżności z interpretacją rippled.

Ocena ryzyka

Niepoprawne przetwarzanie kwot MPT może prowadzić do błędnych sald i rozbieżności w stanie księgi, co może zostać wykorzystane do manipulacji danymi lub zakłócenia działania aplikacji.

Rekomendacja

Zaktualizuj go-xrpl do wersji zawierającej poprawkę z commita 9dbd3935ed6c54f0232f2291edf9c012a0900dd5 i zweryfikuj spójność dekodowania kwot MPT.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS