NRDAX
Submit

← registry

NRDAX-T0329 - Unbounded RPC Response Amplification

response_amp · active · first seen 2025-01-01

provenance: Reproduced in NullRabbit's attack-reproduction pipeline

mechanism

The node's JSON-RPC handler for batched account-lookup calls (e.g. getMultipleAccounts) imposes no response-size accounting or cost weighting relative to request size, only a flat cap on key count. An attacker submits a small request (~4.8KB) listing well-known large program accounts (Token/BPFLoader2/BPFLoaderUpgradeable), whose ELF/program data stubs are echoed in full, driving a single request to a ~17.8MB response (3,708x amplification) and sustained ~830MB/s egress under parallel workers. The fix-class is response-size-aware rate limiting/cost accounting on batched read RPCs (weighting by bytes returned, not just item count), not a request-count cap.

instances (15)

chainprimitivefidelityoriginreproducer (bundle)source
aptos aptos_f10_modules_amp lab NullRabbit Labs aptos_f10_modules_amp aptos.dev ↗
ethereum eth_getlogs_response_amp lab NullRabbit Labs eth_getlogs_response_amp geth.ethereum.org ↗
ethereum geth_eth_receipt_flood lab reverse-engineered-cve geth_eth_receipt_flood reports.immunefi.com ↗
iota iota_f10_grpc_batch_amp lab NullRabbit Labs iota_f10_grpc_batch_amp docs.iota.org ↗
iota iota_f10_multiget_amp lab NullRabbit Labs iota_f10_multiget_amp docs.iota.org ↗
solana SOL_F10_multi_get_accounts_amp lab NullRabbit Labs SOL_F10_multi_get_accounts_amp -
solana sol_getsigs_response_amp lab NullRabbit Labs sol_getsigs_response_amp github.com ↗
solana sol_gpa_response_amp lab NullRabbit Labs sol_gpa_response_amp github.com ↗
sui sui_f10_multiget_response_amp lab NullRabbit Labs sui_f10_multiget_response_amp github.com ↗
sui sui_p05_multiget_txblocks_amp lab NullRabbit Labs sui_p05_multiget_txblocks_amp github.com ↗
xrp rippled_batch_response_amp lab NullRabbit Labs rippled_batch_response_amp github.com ↗
zcash zcash_zebra_getaddresstxids_response_amp lab NullRabbit Labs zcash_zebra_getaddresstxids_response_amp zcash.github.io ↗
zcash zcash_zebra_getaddressutxos_response_amp lab NullRabbit Labs zcash_zebra_getaddressutxos_response_amp zcash.github.io ↗
zcash zcash_zebra_getblocktemplate_response_amp lab NullRabbit Labs zcash_zebra_getblocktemplate_response_amp zebra-rpc getrawmempool/getblocktemplate (uncapped whole-mempool serialisation; F10 response-amp)
zcash zcash_zebra_getrawmempool_verbose_response_amp lab NullRabbit Labs zcash_zebra_getrawmempool_verbose_response_amp zebra-rpc getrawmempool/getblocktemplate (uncapped whole-mempool serialisation; F10 response-amp)

references

cve: CVE-2025-26819
vendor-advisory: GHPR-matter-labs-zksync-era-4860

related (response_amp)

cite

https://nrdax.com/techniques/NRDAX-T0329

plain

NRDAX Registry. Technique NRDAX-T0329.

bibtex
@misc{nrdax_NRDAX_T0329,
  title = {Unbounded RPC Response Amplification (NRDAX-T0329)},
  howpublished = {NRDAX Registry},
  url = {https://nrdax.com/techniques/NRDAX-T0329},
}
json (csl)
{
  "id": "nrdax-NRDAX-T0329",
  "type": "dataset",
  "title": "Unbounded RPC Response Amplification (NRDAX-T0329)",
  "URL": "https://nrdax.com/techniques/NRDAX-T0329",
  "publisher": "NRDAX Registry"
}