S.T.A.L.K.E.R. Clear Sky玩家昵称远程拒绝服务漏洞
发布日期:2009-07-22
更新日期:2009-07-23
受影响系统:GSC Game World S.T.A.L.K.E.R.: Clear Sky <= 1.5.10
描述:
BUGTRAQ ID:
35762
S.T.A.L.K.E.R. Clear Sky中文名为潜行者:晴空,是由GSC Game World开发的第一人称射击游戏。
玩家在加入游戏时可发送最多为64个字符的unicode utf16格式的昵称,服务器会对昵称执行以下操作:
WideCharToMultiByte(CP_ACP, 0, input_utf16_nickname, -1, output_ascii_nickname, 64, NULL, NULL);
strcpy_s(new_buffer, 64, output_ascii_nickname);
output_ascii_nickname缓冲区分配在了其他一些变量之前。尽管WideCharToMultiByte最多返回64个字节,output_ascii_nickname后有一个非0的32位值,因此总计为65字节长,例如:
071CF680 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
071CF690 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
071CF6A0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
071CF6B0 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 00 aaaaaaaaaaaaaaa.
071CF6C0 18 00 00 00 03 00 00 00 3E FA 1C 07 00 00 00 00 ........>ú......
因此在执行strcpy_s时,由于输出缓冲区(64字节)小于输入缓冲区(65字节),因此可能触发异常,导致服务器立即终止。
<*来源:Luigi Auriemma (
aluigi@pivx.com)
链接:
http://secunia.com/advisories/35890/
http://aluigi.altervista.org/adv/dirtysky-adv.txt?esohkb
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://aluigi.org/poc/dirtysky.zip建议:
厂商补丁:
GSC Game World
--------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.stalker-game.com/浏览次数:2434
严重程度:0(网友投票)