handleAuthCert: reject cert-auth when number differs from session

If session already has a number (from PoW), cert auth must match that number. Prevents identity theft via cert-sharing.
This commit is contained in:
Niko Marmeladkov 2026-07-01 14:59:39 +03:00
parent b7597e1335
commit 12f38ecb68

View file

@ -351,7 +351,8 @@ func (s *Server) handleAuthCert(sess *Session, payload []byte) {
}
if sess.IsAuthenticated() && sess.Number() != ident.Number {
s.Unregister(sess.Number())
sendOpError(sess.Stream(), types.ErrAuthFailed, "cert number mismatch")
return
}
sess.Authenticate(ident.Number, pubKey, certDER)