Bootstrap token registration lacks proof of possession #62
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Info
Severity: MEDIUM
Attack vector: local malicious process
Impact
Allows anyone who reads the bootstrap token to immediately register and authenticate as a user agent without first proving possession of the claimed key.
Description
Whoever presents the bootstrap token is immediately registered and marked authenticated. There is no separate challenge-response round-trip proving that the caller actually controls the claimed user-agent key. This makes a token disclosure directly equivalent to full user-agent authority.
Example flow
Mitigation
Require a challenge-response exchange after token presentation before completing registration and authentication.
The finding does not apply to the current implementation. The bootstrap token is consumed and the key registered only inside
verify_solutionafter the challenge-response signature check passes, so key possession is already proven before registration completes.