[crossfire] SVN revions in version

Mark Wedel mwedel at sonic.net
Sun Oct 15 23:42:15 CDT 2006


Christian Hujer wrote:
> On Friday 13 October 2006 19:15 Brendan Lally wrote:
>> Likewise, although the clients need only open a connection to the
>> metaserver to recieve the server list, having the official clients
>> send their revision numbers by default would give some indication as
>> to which versions of the clients are in use. (assuming the metaserver
>> were suitably modified to read that information from the socket).
> Oh that would make it easy for a bogus server to abuse or exploit known client 
> bugs to hack client machines.

  Well, right now, the client does support some basic information to the server 
when it connections (type of client, its last official version (1.9.0, 1.9.1, etc).

  Since generally speaking, there isn't any real way to fix old clients (if 
someone is still using 1.8.0 client, making a patch for known bugs to that 
client isn't likely to help, as most likely, person isn't going to get it 
updated), there could already be a pretty large list of exploits.  Things like 
'if client is older than 1.9.1, these bugs exist which I could exploit'.

  Whether the server knows the SVN number or not probably won't make a big 
difference.  However, I do agree, there really isn't much reason for the server 
to know the SVN number.

  What would be more interesting, from a data collection standpoint, is knowing 
the number of people that are actually compiling out of SVN vs using officially 
downloaded clients.  I'm not sure what I would do with that knowledge, other 
than to say 'hmm, interesting, x% of players get there client from SVN'.

  Related to that could be precompiled vs non precompiled clients somehow 
reporting that.  However, that really is more dangerous.

  If a server admin was going to try to hijack a client, using a precompiled 
client is the way to do it.  Any 'compile it yourself' client has so many 
variables (compiler options, version of the compiler, type of system it is 
compiled on) to make most all exploit bugs (typically buffer overflows) 
virtually impossible.

  However, if the developer can download the same client that players are using 
(precompiled), they can play around with the exploit, write the code that 
properly hijacks it, etc with a high level of success (different versions of 
some of the libraries may make a difference).

  So if anything, not having clients report their version doesn't make it harder 
for server admins, they just can't know who to target.  And if the 'fixed' 
clients have some form of reporting (server abc sending bogus data that looks to 
be trying to exploit bug abc), and the server can't know which of those clients 
might report, that may make it so that the server admin won't try it.

  I would say that any server that is trying to do such things should be 
blacklisted from the metaserver (and potentially reported to the service provider).




More information about the crossfire mailing list