Commit e858033
committed
fix: audit round 2 - critical consensus, storage, RPC, and epoch bugs
Critical:
- C1: Re-add consensus guard in handle_storage_set
- C2: Reject unsigned votes in StateRootConsensus and ValidatedStorage
- C3: Log error when valid_voters is empty
- C4: Deduplicate view change voters in handle_new_view
- C5: Verify prepared_proof signatures before restoring round
High:
- H1: Wrap block_on with block_in_place in ChallengeStorageBackend
- H2: Block cross-challenge storage reads
- H3: Fix body hash in challenge_call JSON-RPC
- H4: Enforce auth on requires_auth routes
- H5: Require validator_hotkey in webhook
- H6: Extract mechanism_id with TODO
Medium:
- M1: BFT quorum for storage proposal voting
- M2: Route matching for path params in challenge_call
- M6: Remove expired pending_ops from sled
- M8: saturating_sub in cleanup
- M9: flush in write_direct
- M12: Averaged weights on divergence
- M13: Hash verification for AgentLogProposal1 parent 739d4da commit e858033
File tree
13 files changed
+320
-65
lines changed- bins/validator-node/src
- crates
- distributed-storage/src
- epoch/src
- p2p-consensus/src
- rpc-server/src
- storage/src
- wasm-runtime-interface/src
13 files changed
+320
-65
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
41 | 45 | | |
42 | 46 | | |
43 | 47 | | |
| |||
48 | 52 | | |
49 | 53 | | |
50 | 54 | | |
51 | | - | |
52 | | - | |
53 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
54 | 59 | | |
55 | 60 | | |
56 | 61 | | |
57 | 62 | | |
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
61 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
62 | 73 | | |
63 | 74 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2076 | 2076 | | |
2077 | 2077 | | |
2078 | 2078 | | |
2079 | | - | |
2080 | | - | |
2081 | | - | |
2082 | | - | |
2083 | | - | |
| 2079 | + | |
| 2080 | + | |
| 2081 | + | |
| 2082 | + | |
| 2083 | + | |
| 2084 | + | |
| 2085 | + | |
| 2086 | + | |
| 2087 | + | |
| 2088 | + | |
| 2089 | + | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
2084 | 2098 | | |
2085 | 2099 | | |
2086 | 2100 | | |
| |||
2276 | 2290 | | |
2277 | 2291 | | |
2278 | 2292 | | |
| 2293 | + | |
2279 | 2294 | | |
2280 | 2295 | | |
2281 | 2296 | | |
| |||
2285 | 2300 | | |
2286 | 2301 | | |
2287 | 2302 | | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
2288 | 2308 | | |
2289 | 2309 | | |
2290 | 2310 | | |
2291 | 2311 | | |
2292 | | - | |
| 2312 | + | |
2293 | 2313 | | |
2294 | 2314 | | |
2295 | 2315 | | |
| |||
2306 | 2326 | | |
2307 | 2327 | | |
2308 | 2328 | | |
| 2329 | + | |
| 2330 | + | |
2309 | 2331 | | |
2310 | 2332 | | |
2311 | 2333 | | |
2312 | 2334 | | |
2313 | | - | |
| 2335 | + | |
2314 | 2336 | | |
2315 | 2337 | | |
2316 | 2338 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | | - | |
| 204 | + | |
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
| |||
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
332 | | - | |
| 332 | + | |
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
| |||
808 | 808 | | |
809 | 809 | | |
810 | 810 | | |
811 | | - | |
| 811 | + | |
812 | 812 | | |
813 | 813 | | |
814 | 814 | | |
| |||
966 | 966 | | |
967 | 967 | | |
968 | 968 | | |
969 | | - | |
| 969 | + | |
970 | 970 | | |
971 | 971 | | |
972 | 972 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
621 | 621 | | |
622 | 622 | | |
623 | 623 | | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
624 | 629 | | |
625 | 630 | | |
626 | 631 | | |
627 | 632 | | |
628 | 633 | | |
629 | 634 | | |
630 | 635 | | |
631 | | - | |
632 | | - | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
633 | 646 | | |
634 | 647 | | |
635 | 648 | | |
| |||
652 | 665 | | |
653 | 666 | | |
654 | 667 | | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | 668 | | |
661 | 669 | | |
662 | 670 | | |
| |||
1292 | 1300 | | |
1293 | 1301 | | |
1294 | 1302 | | |
1295 | | - | |
| 1303 | + | |
1296 | 1304 | | |
1297 | 1305 | | |
1298 | 1306 | | |
1299 | 1307 | | |
1300 | 1308 | | |
1301 | 1309 | | |
1302 | 1310 | | |
| 1311 | + | |
1303 | 1312 | | |
1304 | 1313 | | |
1305 | 1314 | | |
| |||
1322 | 1331 | | |
1323 | 1332 | | |
1324 | 1333 | | |
1325 | | - | |
| 1334 | + | |
1326 | 1335 | | |
1327 | 1336 | | |
1328 | 1337 | | |
1329 | 1338 | | |
1330 | 1339 | | |
1331 | 1340 | | |
1332 | 1341 | | |
| 1342 | + | |
1333 | 1343 | | |
1334 | 1344 | | |
1335 | 1345 | | |
1336 | | - | |
| 1346 | + | |
1337 | 1347 | | |
1338 | 1348 | | |
1339 | 1349 | | |
1340 | 1350 | | |
1341 | 1351 | | |
1342 | 1352 | | |
1343 | 1353 | | |
| 1354 | + | |
1344 | 1355 | | |
1345 | 1356 | | |
1346 | 1357 | | |
| |||
1507 | 1518 | | |
1508 | 1519 | | |
1509 | 1520 | | |
1510 | | - | |
| 1521 | + | |
1511 | 1522 | | |
1512 | 1523 | | |
1513 | 1524 | | |
1514 | 1525 | | |
1515 | 1526 | | |
1516 | 1527 | | |
1517 | 1528 | | |
| 1529 | + | |
1518 | 1530 | | |
1519 | 1531 | | |
1520 | 1532 | | |
| |||
1535 | 1547 | | |
1536 | 1548 | | |
1537 | 1549 | | |
1538 | | - | |
| 1550 | + | |
1539 | 1551 | | |
1540 | 1552 | | |
1541 | 1553 | | |
1542 | 1554 | | |
1543 | 1555 | | |
1544 | 1556 | | |
1545 | 1557 | | |
| 1558 | + | |
1546 | 1559 | | |
1547 | 1560 | | |
1548 | 1561 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
494 | 494 | | |
495 | 495 | | |
496 | 496 | | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
497 | 500 | | |
498 | 501 | | |
499 | 502 | | |
| |||
502 | 505 | | |
503 | 506 | | |
504 | 507 | | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
520 | 534 | | |
521 | 535 | | |
522 | | - | |
523 | | - | |
524 | 536 | | |
525 | 537 | | |
526 | 538 | | |
| |||
886 | 898 | | |
887 | 899 | | |
888 | 900 | | |
889 | | - | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
890 | 904 | | |
891 | 905 | | |
892 | 906 | | |
| |||
916 | 930 | | |
917 | 931 | | |
918 | 932 | | |
919 | | - | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
920 | 936 | | |
921 | 937 | | |
922 | 938 | | |
| |||
1031 | 1047 | | |
1032 | 1048 | | |
1033 | 1049 | | |
1034 | | - | |
| 1050 | + | |
| 1051 | + | |
1035 | 1052 | | |
1036 | 1053 | | |
1037 | 1054 | | |
1038 | 1055 | | |
1039 | 1056 | | |
1040 | | - | |
| 1057 | + | |
| 1058 | + | |
1041 | 1059 | | |
1042 | 1060 | | |
1043 | 1061 | | |
| |||
0 commit comments