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

feat(core): add a boot command that enters the bootloader ready to talk

Public commit record

What the developer wrote

Authored by tychovrahe

85/100 · Strong
feat(core): add a boot command that enters the bootloader ready to talk

BOOT_COMMAND_STOP_AND_WAIT lands on the bootloader's intro screen -- "Go to
bootloader menu" per the BootCommand protobuf, which is deliberate. But only
the wait-for-host screen calls workflow_ifaces_init(), so on the intro screen
the wire interfaces are not up: a host that just rebooted the device cannot
talk to it until somebody taps through.

BOOT_COMMAND_STOP_AND_CONNECT is the same stop, entered on the connect
screen instead. The whole behavioural difference is which screen the workflow
starts on:

screen_t screen = connect_to_host ? SCREEN_WAIT_FOR_HOST : SCREEN_INTRO;

It authorizes nothing -- no consent material, no effect on any validity gate
-- which is what makes it safe to hand to firmware, unlike CONTINUE_UPGRADE
(deliberately bridge-less so firmware cannot reach the weaker boot gate).
reboot_and_connect() therefore gets the usual syscall AND smcall bridges,
since firmware runs unprivileged.

The motivating case is a caller that has just invalidated its own firmware
and knows a host is waiting: the intro screen would strand the device behind a
tap it has no way to ask for. Not exposed over the wire yet; a host-initiated
RebootToBootloader still lands on the menu, which a later protobuf addition
could fix.

[no changelog]

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit adds a new internal reboot path that lets the Trezor Core firmware restart the device into the bootloader and immediately activate the USB/wire connection, skipping the usual intro screen that normally requires a finger tap. The change is intentionally limited: it does not approve any firmware installation, downgrade, or other security-sensitive action; it only changes which screen the bootloader shows first. It is exposed to unprivileged firmware through both a normal system call and a secure-monitor call, but it is not yet reachable from a host computer over USB. The main security consideration is that it slightly enlarges the attack surface for reboot-based attacks, though the commit message and code comments explicitly describe it as authorization-free and safe compared to the existing auto-upgrade reboot command.

Recommended action

Review whether any future host-facing protobuf change that exposes this command enforces appropriate authentication and user confirmation, since the current patch deliberately does not. Confirm that SCREEN_WAIT_FOR_HOST does not perform any privileged operation beyond interface initialization, and ensure that the new SMCALL/SYSCALL numbers cannot be invoked by untrusted application code if the firmware sandbox is ever compromised. No immediate patch is indicated by the diff alone.

Security signals we found

01

New bootloader boot command that skips the user-tap intro screen and brings up wire interfaces immediately

02

Exposed to unprivileged firmware via both syscall and secure-monitor call bridges

03

Explicitly described by the author as carrying no authorization or consent material

04

Contrast with BOOT_COMMAND_INSTALL_UPGRADE, which is restricted from firmware to prevent bypass of the weaker boot gate

05

Not yet exposed over the host wire protocol, limiting external reach

06

Motivating use case is self-invalidated firmware that needs host communication without a user tap

Risk score

Why this scored 27/100

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