By default the SNI is sent in plaintext before a shared key is agreed upon. Is it possible for an attacker to modify SNI value without endpoints finding it out?
If I understand RFC 8446 (TLS 1.3) correctly, the Transcript Hash contains all the messages exchanged during the handshake and is signed before finishing the handshake. So latest at this point the peer would detect that the handshake has been manipulated.
Am I understanding it correctly? Is the situation different for TLS 1.2.