mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Address issues identified by external review:
* RIPD-1617, RIPD-1619, RIPD-1621:
Verify serialized public keys more strictly before
using them.
* RIPD-1618:
* Simplify the base58 decoder logic.
* Reduce the complexity of the base58 encoder and
eliminate a potential out-of-bounds memory access.
* Improve type safety by using an `enum class` to
enforce strict type checking for token types.
* RIPD-1616:
Avoid calling `memcpy` with a null pointer even if the
size is specified as zero, since it results in undefined
behavior.
Acknowledgements:
Ripple thanks Guido Vranken for responsibly disclosing these
issues.
Bug Bounties and Responsible Disclosures:
We welcome reviews of the rippled code and urge researchers
to responsibly disclose any issues that they may find. For
more on Ripple's Bug Bounty program, please visit:
https://ripple.com/bug-bounty
This commit is contained in:
@@ -251,7 +251,7 @@ RCLValidationsAdaptor::doStaleWrite(ScopedLockType&)
|
||||
auto const initialSeq = ledgerSeq.value_or(
|
||||
app_.getLedgerMaster().getCurrentLedgerIndex());
|
||||
auto const nodePubKey = toBase58(
|
||||
TokenType::TOKEN_NODE_PUBLIC, val->getSignerPublic());
|
||||
TokenType::NodePublic, val->getSignerPublic());
|
||||
auto const signTime =
|
||||
val->getSignTime().time_since_epoch().count();
|
||||
|
||||
@@ -300,10 +300,10 @@ handleNewValidation(Application& app,
|
||||
s << "Val for " << hash
|
||||
<< (val->isTrusted() ? " trusted/" : " UNtrusted/")
|
||||
<< (val->isFull() ? "full" : "partial") << " from "
|
||||
<< (masterKey ? toBase58(TokenType::TOKEN_NODE_PUBLIC, *masterKey)
|
||||
<< (masterKey ? toBase58(TokenType::NodePublic, *masterKey)
|
||||
: "unknown")
|
||||
<< " signing key "
|
||||
<< toBase58(TokenType::TOKEN_NODE_PUBLIC, signingKey) << " " << msg
|
||||
<< toBase58(TokenType::NodePublic, signingKey) << " " << msg
|
||||
<< " src=" << source;
|
||||
};
|
||||
|
||||
@@ -346,7 +346,7 @@ handleNewValidation(Application& app,
|
||||
else
|
||||
{
|
||||
JLOG(j.debug()) << "Val for " << hash << " from "
|
||||
<< toBase58(TokenType::TOKEN_NODE_PUBLIC, signingKey)
|
||||
<< toBase58(TokenType::NodePublic, signingKey)
|
||||
<< " not added UNlisted";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user