安全研究

安全漏洞
Yelp无效URI格式串漏洞

发布日期:2008-08-13
更新日期:2008-09-05

受影响系统:
GNOME yelp 2.23.1
描述:
BUGTRAQ  ID: 30690
CVE(CAN) ID: CVE-2008-3533

Yelp是Gnome中的帮助查看器,在需要时按下F1就可以获得帮助信息。

yelp在使用gtk_message_dialog报告无效的URI时存在格式串漏洞。如果使用ftp://或file:// 指定了无效的URI,就会在yelp-window.c文件的1008行创建The requested URI %s is invalid错误消息,gchar字符串被传送到了同一文件1129行的window_error函数,然后没有使用yelp-window.c文件1156行的格式串不安全的创建了GTK对话框。

gtk_message_dialog_format_secondary_markup的函数原型为:

void gtk_message_dialog_format_secondary_markup (GtkMessageDialog
*message_dialog,
                                                         const gchar
*message_format,
                                                                              
...);

这里message_format为printf()样式标记字符串。

如果用户受骗点击了恶意链接的话,这个漏洞可能导致执行任意代码。由于yelp的网络功能,在注册了man或ghelp URI的Firefox、Evolution 等浏览器中这个漏洞还可以被远程利用。

<*来源:Aaron Grattafiori
  
  链接:http://secunia.com/advisories/31465
        http://bugzilla.gnome.org/show_bug.cgi?id=546364
        http://security.gentoo.org/glsa/glsa-200809-01.xml
*>

测试方法:

警 告

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

yelp ftp://%08x.%08x.%08x.%08x.%08x.%08x
yelp %x%x%x%x%x%x://
yelp %08x%08x

建议:
厂商补丁:

GNOME
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://security.ubuntu.com/ubuntu/pool/main/y/yelp/yelp_2.20.0-0ubuntu3.1_i386.deb

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200809-01)以及相应补丁:
GLSA-200809-01:yelp: User-assisted execution of arbitrary code
链接:http://security.gentoo.org/glsa/glsa-200809-01.xml

补丁下载:

所有yelp用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=gnome-extra/yelp-2.22.1-r2"

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=gnome-extra/yelp-2.20.0-r1"

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