ValveSoftware / csgo-osx-linux

Counter-Strike: Global Offensive
http://counter-strike.net
787 stars 69 forks source link

New fake angles exploit. #2076

Open Fake66666 opened 5 years ago

Fake66666 commented 5 years ago

Your system information

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large pastes as a Github Gist.

Steps for reproducing this issue:

  1. Hey. When you guys finally patched fake Angeles you created new exploit that desyncs the player model and creates fake angles that way. (link: https://www.unknowncheats.me/forum/counterstrike-global-offensive/331325-tickbase-manipulation.html This thread has all the info for you guys to fix it. I would greatly appreciate if u could fix this game breaking bug ASAP
thomasdangl commented 5 years ago

This seems to be more of a problem related to how the game handles lag compensation when the tick base of the target player is changing in ways that would not occur during normal play. Nonetheless it would be nice to see this addressed in order to stop malicious clients from manipulating the game.

The issue here appears to be in CLagCompensationManager::RecordDataIntoTrack as there is a sanity check in place that prevents new records from being created when the simulation time did not increase compared to the last record.

While the new data cannot be lag-compensated, it is still animated and broadcasted to all other players. I can think of the following solutions: Either keep track if the tick base has yet been shifted back and skip the sanity check or in case of fluctuating tickbase skip the animation all together and don't broadcast the new data. Just preventing the data from being broadcasted would lead to even more issues as the animation state of the affected player would now be completely out of sync with the game server.

Hope this was of any help.

References: https://github.com/pmrowla/hl2sdk-csgo/blob/master/game/server/player_lagcompensation.cpp#L739

click4dylan commented 5 years ago

They didn't patch fake angles at all, they are still alive and well because of https://github.com/ValveSoftware/csgo-osx-linux/issues/1657

Instead of animating oldest usercmd they animate everything, which still desyncs the hitboxes between client and server because client's dont receive choked usercmds