The vulnerability is a logic error within the snow crate's stateful TransportState implementation. Specifically, the snow::cipherstate::CipherState::decrypt_and_increment function would increment its internal nonce counter even when a message decryption failed due to an authentication error. An attacker with the ability to inject packets could send a malformed or unauthenticated message to a listening peer. The peer's TransportState::read_message function would be called, which in turn calls CipherState::decrypt_and_increment. While the decryption would fail, the nonce would still be incremented. This desynchronizes the cryptographic state between the two peers, as the sender's nonce and the receiver's expected nonce no longer match. Consequently, all subsequent, legitimate messages from the sender would fail to decrypt, resulting in a denial of service. The patch addresses this by ensuring the decryption result is checked before the nonce is incremented, so a failed decryption no longer affects the internal state.