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

fix(nordic): size the bond list event buffer for a full bond table

Public commit record

What the developer wrote

Authored by tychovrahe

97/100 · Strong
fix(nordic): size the bond list event buffer for a full bond table

management_send_bonds() writes an event byte, a bond count, and then one
seven-byte record per bond, but sized the buffer for the count plus the
records only. With CONFIG_BT_MAX_PAIRED=8 bonds present, the final byte of
the last record lands one past the end of a 57-byte array.

No attacker is involved - eight bonded devices and a bond list request are
enough. It has likely gone unnoticed because the stray byte falls into stack
alignment padding, which is the compiler's choice rather than a guarantee.

[no changelog]
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit fixes a one-byte buffer overflow in the Trezor hardware wallet's Bluetooth code. When listing all paired Bluetooth devices, the software reserved a buffer that was one byte too small. If the maximum of eight devices were paired, the last byte of the last device's address would be written just past the end of the buffer. The commit message says no attacker is needed to trigger it; it can happen simply by requesting the bond list with eight bonded devices. The overflow is small and likely lands in harmless compiler padding, but it is still a real memory-safety bug.

Recommended action

Apply the patch. Consider adding a static assertion or compile-time size check tying the tx_data array size to the actual serialization logic, and review nearby management event handlers for similar off-by-one sizing errors.

Security signals we found

01

Stack buffer overflow (one byte)

02

Off-by-one allocation error

03

Memory corruption in Bluetooth management event path

04

No attacker input required; triggered by normal bond-list request with full bond table

Risk score

Why this scored 45/100

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