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

ble: retry more often/faster, also when no buffer is available

Public commit record

What the developer wrote

Authored by Jon Griffiths

85/100 · Strong
ble: retry more often/faster, also when no buffer is available

Buffers can become exhausted if we race against the O/S freeing them.
Retry just like a sending failure if this happens. Also retry faster to
lower latency, and more often so we respect the typical BLE 2 second timeout.
Finally, log any waits less frequently to avoid log spam.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit changes how Blockstream Jade's Bluetooth Low Energy (BLE) code retries sending data. Previously, if the system ran out of temporary memory buffers, the code would crash with an assertion failure. Now it treats that situation like any other send failure and retries. It also retries more often and faster to stay within typical BLE timeouts, and reduces how often warning messages are logged. The change is a robustness improvement rather than a clear security fix, but the removed assertion crash could have been triggered by an attacker exhausting buffers.

Recommended action

Review whether the new retry loop can be abused to keep the BLE task busy or to delay other operations. Confirm that ble_hs_mbuf_from_flat() failure is truly transient and that retrying does not starve other tasks. Consider whether an attacker can force buffer exhaustion repeatedly to cause denial of service. No immediate patch action is indicated beyond normal review and testing.

Security signals we found

01

Removed assertion on memory-buffer allocation (JADE_ASSERT(data)) that could crash the device

02

Added retry logic for buffer exhaustion instead of hard failure

03

Reduced retry interval and increased retry count to meet BLE timeout expectations

04

Throttled warning logs to reduce log noise

Risk score

Why this scored 26/100

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