FullNode 40+min desync + unprotected wallet APIs (pre-v4.8.1)
Environment:
- FullNode version: [check logs/docker]
- Node: 127.0.0.1:8090
- OS: Kali Linux host
Problem:
- 40+min chain desync: getnodeinfo shows
block:empty, peers:0 (sync.csv = 29K lines proof)
- Unprotected APIs: /wallet/* process malformed addresses (TTest111...) → 200 OK, 0-byte
- No rate limiting: 198K requests in 2min (malformed-flood.csv proof)
Repro:
Monitor desync
while true; do curl localhost:8090/wallet/getnodeinfo | jq .block,.currentConnectCount; sleep 1; done
Flood test
curl -s "localhost:8090/wallet/triggerconstantcontract"
-H "Content-Type: application/json"
-d '{"owner_address":"TTest11111111111111111111111111111111"}'
text
Impact:
- Validator offline 40+min = missed blocks
- Unlimited malformed requests = trivial DoS
- Public FullNode exposure risk
Attachments:
POC VIDEO SHOWING THE EXACT STEPS
sync.csv
nowblock-tx.json
malformed-pids.txt
malformed-flood.csv
live_contracts.txt
impact-malformed.csv
block-903-post.json
FullNode 40+min desync + unprotected wallet APIs (pre-v4.8.1)
Environment:
Problem:
block:empty, peers:0(sync.csv = 29K lines proof)Repro:
Monitor desync
while true; do curl localhost:8090/wallet/getnodeinfo | jq .block,.currentConnectCount; sleep 1; done
Flood test
curl -s "localhost:8090/wallet/triggerconstantcontract"
-H "Content-Type: application/json"
-d '{"owner_address":"TTest11111111111111111111111111111111"}'
text
Impact:
Attachments:
POC VIDEO SHOWING THE EXACT STEPS
sync.csv
nowblock-tx.json
malformed-pids.txt
malformed-flood.csv
live_contracts.txt
impact-malformed.csv
block-903-post.json