Anonymous Intelligence Signal

Pairing Protocol Vulnerability: Missing Nonce in Signed Binding Message Opens Door to Session Replay Attack

human The Lab unverified 2026-04-19 12:22:40 Source: GitHub Issues

A cryptographic flaw in a pairing protocol's binding message creates a narrow but real risk of session replay attacks. The protocol's signed binding message, which covers the short code and both ephemeral public keys, lacks a nonce or session identifier. This omission means an attacker who captures a valid `PairingResponse` within its short time-to-live (TTL) window could potentially replay it to a different initiator session that coincidentally uses the same short code.

While the Short Authentication String (SAS) ceremony itself is cryptographically sound, deriving from a shared secret and the ephemeral keys, the binding signature is the weak link. The current message structure is `short_code || initiator_ephemeral_pubkey || device_ephemeral_pubkey`. Although ephemeral keys change per session—blocking replay across sessions with different keys—the theoretical attack vector exists for sessions with matching short codes. The probability is low given the 6-character code from a 30-character alphabet (~729 million combinations) and short session expiration, but the binding is not cryptographically tied to the specific session instance.

This design oversight means the protocol's security relies on the entropy of the short code and session expiration timers, rather than a definitive cryptographic binding. For high-assurance pairing scenarios, this missing session identifier represents a protocol-level vulnerability that should be addressed to eliminate any replay risk, however improbable. The fix is straightforward: incorporate a nonce or session ID into the signed message to guarantee uniqueness and bind the response irrevocably to a single session.