AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
High 74 Bitcoin

eth: limit EIP-712 recursion depth

Public commit record

What the developer wrote

Authored by benma's agent

78/100 · Adequate
eth: limit EIP-712 recursion depth

Reject schemas and values whose recursive struct or array traversal
exceeds a bounded depth. Validate type roots before callbacks and
cover the boundaries with tests.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
The short version

What changed, and why it matters

This commit adds a hard limit on how deeply nested Ethereum typed-message (EIP-712) structures can be when the BitBox02 hardware wallet signs them. Without the limit, an attacker could craft a message type that refers to itself over and over, causing the firmware to recurse until it runs out of stack memory and crashes. The patch caps recursion at 16 levels, validates the whole type tree before any user interaction or host callbacks, and adds tests for the boundary.

Recommended action

Treat this as a security hardening fix and include it in the next firmware release. Review whether other message-signing paths have similar unbounded recursion. No immediate user action is required beyond keeping firmware updated.

Security signals we found

01

Adds explicit recursion-depth cap to attacker-controlled input parsing

02

Pre-validates schema roots before host callbacks or user confirmation

03

Protects against stack exhaustion / denial-of-service from deeply nested EIP-712 types

04

Includes boundary unit tests for maximum allowed depth

Risk score

Why this scored 74/100

Our methodology →
Potential impact 22/30
Exploitability 18/25
Stealth signal 10/15
Affected reach 12/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.