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

feat(core): introduce secmon downgrade protection

Public commit record

What the developer wrote

Authored by tychovrahe

57/100 · Thin
feat(core): introduce secmon downgrade protection
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
The short version

What changed, and why it matters

This commit adds downgrade protection for the Secure Monitor (secmon), a small privileged security component that runs alongside the main firmware on Trezor hardware wallets. Previously, only the bootloader and firmware had downgrade protection via monotonic counters stored in secure flash. This change reserves a third monotonic counter, records the secmon version in the image header, and makes the bootloader reject older or rolled-back secmon images during firmware updates and boot. It is a defensive hardening feature, not a fix for an active vulnerability, and the initial secmon monotonic version starts at 0 so existing images remain compatible.

Recommended action

No immediate user action is required; this is a hardening improvement. Trezor should ensure the new monotonic counter region is provisioned correctly during manufacturing and that the secmon signing pipeline populates the monotonic byte. Reviewers should verify that check_secmon_min_version cannot be bypassed before ensure_secmon_min_version is called, and that the initial value SECMON_MONOTONIC_VERSION 0 does not create a rollback window once the first non-zero secmon version is shipped.

Security signals we found

01

Adds anti-rollback protection for a previously unprotected security-critical component (Secure Monitor)

02

Introduces a new monotonic counter slot in secure flash for secmon versioning

03

Bootloader now rejects secmon images with monotonic version lower than the stored minimum

04

Firmware update workflow returns a new error code (UPLOAD_ERR_INVALID_SECMON_VERSION) for secmon downgrades

05

Reorders boot-time checks so version enforcement precedes content validation and persistent counter updates

06

Changelog fragment explicitly labels the change as 'Secure Monitor downgrade protection'

Risk score

Why this scored 26/100

Our methodology →
Potential impact 5/30
Exploitability 3/25
Stealth signal 2/15
Affected reach 4/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.