From 3843f917e9873b80ff2a68bde38be93708a92d76 Mon Sep 17 00:00:00 2001 From: Andrew Kozlik Date: Tue, 14 Apr 2020 17:03:40 +0200 Subject: [PATCH] crypto: Check for invalid characters in Monero Base58 decode. --- crypto/monero/base58.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/monero/base58.c b/crypto/monero/base58.c index 44da376e9..ec6c4d779 100644 --- a/crypto/monero/base58.c +++ b/crypto/monero/base58.c @@ -102,6 +102,8 @@ bool decode_block(const char* block, size_t size, char* res) uint64_t order = 1; for (size_t i = size - 1; i < size; --i) { + if (block[i] & 0x80) + return false; // Invalid symbol int digit = reverse_alphabet(block[i]); if (digit < 0) return false; // Invalid symbol