SIGN IN SIGN UP

fix: Rotate challenge after Safe account descriptor processing

handle_safe_tlv_payload() and handle_signer_tlv_payload() verify the
signed CHALLENGE field of their respective descriptors but never call
roll_challenge() afterwards. The global challenge issued by
INS_GET_CHALLENGE stayed valid until the next explicit GET_CHALLENGE,
so any previously captured signed Safe / Signer descriptor could be
replayed within the same app session and the device would display
stale signer / threshold information as freshly authorized.

Roll the challenge at the end of both TLV payload handlers, on both
success and failure, mirroring the pattern already used by the trusted
name and proxy info flows.

(cherry picked from commit 297d44cad29531e898aff1e8871cd1e830793605)
C
Charles-Edouard de la Vergne committed
b43793406e8ff4b2283b88cc2e07b9a6030a9ae1
Parent: 23757a8
Committed by Alexandre Paillier <alexandre.paillier@ledger.fr> on 8/25/2026, 3:03:57 PM