Skip to content

security: red team audit of UTXO implementation (bounty #2819) - #8332

Open
rafaio1 wants to merge 1 commit into
Scottcjn:mainfrom
rafaio1:red-team-utxo-2819-v2
Open

rafaio1 wants to merge 1 commit into
Scottcjn:mainfrom
rafaio1:red-team-utxo-2819-v2

Conversation

@rafaio1

@rafaio1 rafaio1 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Red Team security audit of the UTXO implementation for bounty Scottcjn/rustchain-bounties#2819.

Findings

ID Severity Title Location
MEDIUM-1 Medium Non-atomic stale tx cleanup in mempool_get_block_candidates utxo_db.py:1585-1672
MEDIUM-2 Medium JSON parsing DoS amplification in _evict_stale_data_input_txs hot path utxo_db.py:1543-1556
INFO-1 Info coin_select returns mutable references utxo_db.py:1737
INFO-2 Info compute_box_id 2-byte encoding wider than needed utxo_db.py:135
INFO-3 Info spend_box error info leak (safe at endpoint layer) utxo_db.py:381

Full audit report included as SECURITY_AUDIT_2819.md in this branch.

Methodology

Static analysis of utxo_db.py and utxo_endpoints.py focusing on atomicity, DoS vectors, memory safety, and information disclosure.

Closes #2819

Findings:
- MEDIUM-1: Non-atomic stale tx cleanup in mempool_get_block_candidates
- MEDIUM-2: JSON parsing DoS amplification in _evict_stale_data_input_txs hot path
- INFO-1/2/3: Defensive coding improvements

Full audit report in SECURITY_AUDIT_2819.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) documentation Improvements or additions to documentation size/XS PR: 1-10 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant