aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhinto.janai <hinto.janai@protonmail.com>2026-04-10 13:43:53 +0000
committerhinto.janai <hinto.janai@protonmail.com>2026-04-10 13:49:43 +0000
commit644a73867fd43420dccfe22a6cb421ac1aee7c54 (patch)
treeb333c7dd965097f731dd1d496a1c7e9bec45b2ae
parentbbc838557e3866743b12999b71d810b89de7c3ae (diff)
downloadmonzero-core-644a73867fd43420dccfe22a6cb421ac1aee7c54.tar.gz
monzero-core-644a73867fd43420dccfe22a6cb421ac1aee7c54.tar.xz
monzero-core-644a73867fd43420dccfe22a6cb421ac1aee7c54.zip
rpc: restrict `add_aux_pow`
-rw-r--r--src/rpc/core_rpc_server.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp
index 5d8a700e2..8ea3688d6 100644
--- a/src/rpc/core_rpc_server.cpp
+++ b/src/rpc/core_rpc_server.cpp
@@ -2062,6 +2062,15 @@ namespace cryptonote
if (use_bootstrap_daemon_if_necessary<COMMAND_RPC_ADD_AUX_POW>(invoke_http_mode::JON_RPC, "add_aux_pow", req, res, r))
return r;
+ const bool restricted = m_restricted && ctx;
+
+ if (restricted && req.aux_pow.size() > 10)
+ {
+ error_resp.code = CORE_RPC_ERROR_CODE_RESTRICTED;
+ error_resp.message = "Too many aux pow hashes";
+ return false;
+ }
+
if (req.aux_pow.empty())
{
error_resp.code = CORE_RPC_ERROR_CODE_WRONG_PARAM;
@@ -2097,7 +2106,7 @@ namespace cryptonote
while ((1u << path_domain) < aux_pow.size())
++path_domain;
uint32_t nonce;
- const uint32_t max_nonce = 65535;
+ const uint32_t max_nonce = restricted ? 16384 : 65535;
bool collision = true;
for (nonce = 0; nonce <= max_nonce; ++nonce)
{