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

Merge branch 'pr-2049'

Public commit record

What the developer wrote

Authored by Jad

28/100 · Opaque
Merge branch 'pr-2049'
✓ Subject identifies a change! No meaningful explanatory body
The short version

What changed, and why it matters

This commit adds new touchscreen keyboard and PIN keypad screens for the BitBox03 hardware wallet, along with changes to how secret text (passphrases, PINs) is read from the on-screen buffer. The most notable security-relevant change is a fix for how the device copies sensitive text: it now reads the LVGL text buffer directly into a zeroizing string, avoiding an intermediate non-zeroized copy that could leave secret characters in memory. The commit also hardens touch handling so that sliding a finger off a key before releasing does not type the key or confirm an action, and it clears stale key selections to prevent accidental double-typing. Most of the rest is UI layout, fonts, and simulator tooling.

Recommended action

Treat this as a UI feature merge with embedded security hardening. Review the new BitBox03 keyboard/keypad input paths for additional touch-race issues, ensure the zeroizing snapshot path is used consistently wherever secrets are read back from LVGL, and run the included simulator tests (`test_*` in `enter_string.rs`, `keyboard.rs`, `keypad.rs`, `slide_to_confirm.rs`) before release. No immediate incident response is indicated, but a focused security review of the new input widgets is warranted because they handle device unlock PIN and BIP39 passphrase entry.

Security signals we found

01

Sensitive text snapshotting changed to zeroize-on-drop and in-place LVGL buffer read, reducing plaintext secret copies in memory

02

Click callback helper now disables LVGL press-lock to prevent release-outside-object from triggering actions

03

Keyboard clears selected button on RELEASED/PRESS_LOST to avoid stale-selection re-typing on slide-in presses

04

Keyboard uses CLICK_TRIG and NO_REPEAT to insert on release and suppress long-press auto-repeat

05

Passphrase/PIN input capped at 149 characters for cross-device parity

06

Masked display reveals only the last entered character and re-masks after deletion

07

Backspace/confirm buttons disabled when input empty; disabled-state theme animation overridden to avoid visual flicker

Risk score

Why this scored 39/100

Our methodology →
Potential impact 8/30
Exploitability 7/25
Stealth signal 6/15
Affected reach 9/15
Confidence 6/10
Evidence quality 3/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.