安全研究

安全漏洞
Source引擎reason参数格式串漏洞

发布日期:2009-08-19
更新日期:2009-08-19

受影响系统:
Valve Source Engine <= build 3698
描述:
BUGTRAQ  ID: 36061

Source引擎是一个三维的游戏引擎,由Valve软件公司为第一人称射击游戏半条命2开发,并且对其他的游戏开发者开放授权。

Source引擎的engine.dll库中包含一个用于处理玩家断开连接(player_disconnect)的函数,当踢出玩家时显示控制台消息“Dropped NICKNAME from server (REASON)”。这里的reason参数通常是用于解释踢出玩家理由的服务器端参数。在函数的开始处snprintf使用了input_reason_string用于生成会在控制台消息中所显示的最终理由,但类似于以下的示例中没有指定必要的格式参数(%s):

  snprintf(output_buffer, 1024, input_reason_string);

如果用户向服务器端发送了恶意报文,就可能通过格式串攻击导致服务器崩溃或执行恶意代码。

<*来源:Luigi Auriemma (aluigi@pivx.com
  
  链接:http://secunia.com/advisories/36279/
        http://aluigi.altervista.org/adv/sourcefs-adv.txt
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://aluigi.altervista.org/poc/sourcefs.zip
http://aluigi.altervista.org/poc/sourcefslan.zip

建议:
厂商补丁:

Valve
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.valvesoftware.com/

浏览次数:2174
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障