Skip to content

CRITICAL: P2P block sync accepts blocks without producer signature verification (consensus bypass) #2001

@RavMonSOL

Description

@RavMonSOL

Severity: Critical (100-150 RTC)

Location

node/rustchain_p2p_sync_secure.pyBlockValidator.validate_block() method used during P2P chain sync.

The Bug

The block validator used during P2P synchronization does NOT verify:

  • Producer signature
  • That the producer is authorized for the slot (round‑robin)
  • State root or attestations

It only checks hash recomputation and transaction field presence. This allows an attacker to feed a victim node a forged chain where any miner produces every block, with no signatures required.

Impact

  • Consensus bypass
  • Chain redirection / fork acceptance
  • Potential double‑spends if victim's state diverges
  • Node database compromise via malicious peer

Fix Required

Use the full BlockProducer.validate_block logic (or the existing BlockValidator with signature checks) during P2P sync. Enforce producer signature verification and round‑robin authorization.

Wallet: RTC3fcd93a4ec68cfd6b59d1b41c4872c5c239c4ad8

Metadata

Metadata

Assignees

No one assigned

    Labels

    securitySecurity-related change

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions