danielga / gmsv_serversecure

A module for Garry's Mod that mitigates exploits on the Source engine.
https://github.com/danielga/gmsv_serversecure
Other
127 stars 31 forks source link

Steam beta update breaks length checking for A2S_INFO and others #55

Closed deadmonstor closed 3 years ago

deadmonstor commented 3 years ago

The new steam client update pads the length to exactly 1200 or more in length meaning it fails on more than one check.

Length checked here Before update: https://i.imgur.com/MTH6OJQ.png After update: https://i.imgur.com/W76LKPN.png

This is the main function that I was looking into and it fails to even send back request for A2S_INFO because it reports back that it is an invalid packet and should be dropped.

Length check here: https://github.com/danielga/gmsv_serversecure/blob/master/source/netfilter/core.cpp#L441

danielga commented 3 years ago

Thanks for the heads up. I think I'll just check for either 25 or 1200 bytes of length, don't think they'd just change it randomly or later in time.

deadmonstor commented 3 years ago

Gone ahead and looked into it and can confirm that PR will fix the issue.

danielga commented 3 years ago

Unfortunately, I had already tested a fix with some other changes, #57 supersedes #56.