邪恶八进制信息安全团队技术讨论组's Archiver

睡猫 2006-8-3 00:11

[转载]Libtunepimp多个远程缓冲区溢出漏洞

信息来源:绿盟科技

发布日期:2006-07-13
更新日期:2006-07-14

受影响系统:
MusicBrainz TunePimp 0.4.2
MusicBrainz TunePimp 0.3
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 18961

TunePimp库是一个音频应用开发库,允许开发人员打开音乐标签文件进行识别/查询。

libtunepimp客户端程序存在3个缓冲区溢出漏洞,由于程序中的3个栈变量分配分配了255、255和100字节,但最多却可以向其写入256个字节,攻击者可能利用此漏洞执行任意指令。

Backtrace: Thread 5 (Thread -1247491168 (LWP 13178)):
#0 0x00a4a402 in __kernel_vsyscall ()
#1 0x01b2d069 in raise () from /lib/libc.so.6
#2 0x01b2e671 in abort () from /lib/libc.so.6
#3 0x01b61a4b in __libc_message () from /lib/libc.so.6
#4 0x01be2785 in __stack_chk_fail () from /lib/libc.so.6
#5 0x03360d99 in __stack_chk_fail_local () from /usr/lib/libtunepimp.so.3
#6 0x03343135 in LookupTRM::lookup (this=0xb5a4c1e4) at lookuptools.cpp:205
#7 0x00000000 in ?? ()

<*来源:kevin.kofler ([email]kevin.kofler@chello.at[/email])
  
  链接:[url]http://bugs.musicbrainz.org/ticket/1764[/url]
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

[url]http://musicbrainz.org/products/tunepimp/index.html[/url]

[email]kevin.kofler@chello.at[/email]提供了以下非官方修复:

--- lookuptools.cpp.orig   2006-01-28 21:35:42.000000000 +0100
+++ lookuptools.cpp   2006-07-08 04:07:05.000000000 +0200
@@ -51,7 +51,7 @@
    musicbrainz_t  o;
    char       *args[7];
    int        ret, trackNum;
-   char        error[255], data[255], trackURI[256],
+   char        error[256], data[256], trackURI[256],
              artistURI[256], albumURI[256];
    char        temp[100], duration[100], status[100];

@@ -160,7 +160,7 @@
         if (mb_Select1(o, MBS_SelectReleaseDate, j))
         {
            // Pull back the release date and release country
-           if (mb_GetResultData(o, MBE_ReleaseGetDate, temp, 256))
+           if (mb_GetResultData(o, MBE_ReleaseGetDate, temp, 100))
            {
              int month = 0, day = 0, year = 0;

页: [1]
© 1999-2008 EvilOctal Security Team