The vulnerability exists in the steamworks crate because of an incomplete match statement when handling the ValidateAuthTicketResponse_t callback from the Steamworks API. The impl_callback! macro in src/user.rs is used to generate the code that processes this callback. This generated code did not handle the k_EAuthSessionResponseAuthTicketNetworkIdentityFailure variant of the EAuthSessionResponse enum. When the Steamworks API returned this value, the code would hit the unreachable!() macro, causing the entire application to panic and crash. This constitutes a denial of service vulnerability.
A malicious actor could intentionally craft an authentication ticket that would cause the Steamworks API to return this specific error, thereby crashing any game client or server that uses the begin_authentication_session function for P2P authentication.
The patch for this vulnerability, found in commit 0a53391671681c9d5d453416c5fe97e6132a46c2, adds a new match arm to handle the k_EAuthSessionResponseAuthTicketNetworkIdentityFailure case. Instead of panicking, the code now returns an Err(AuthSessionValidateError::AuthTicketNetworkIdentityFailure), allowing the application to handle the error gracefully without crashing.