安全研究
安全漏洞
WinUAE zfile.c本地栈溢出漏洞
发布日期:2007-12-21
更新日期:2007-12-24
受影响系统:WinUAE WinUAE <= 1.4.4
不受影响系统:WinUAE WinUAE 1.4.5
描述:
BUGTRAQ ID:
26979
WinUAE是老式计算机Amiga的游戏模拟器。
WinUAE支持各种类型的压缩软盘镜像,其中Gzip压缩(gz、adz、roz和hdz扩展名)是由名为zfile_gunzip的内部函数处理的。该函数使用了1000(MAX_DPATH)字节的栈缓冲区包含压缩文档中可用的文件名,在将文件名拷贝到缓冲区时没有执行长度检查,这可能触发栈溢出,导致执行任意指令。zfile.c文件中的漏洞代码如下:
struct zfile *zfile_gunzip (struct zfile *z)
{
uae_u8 header[2 + 1 + 1 + 4 + 1 + 1];
z_stream zs;
int i, size, ret, first;
uae_u8 flags;
long offset;
char name[MAX_DPATH];
uae_u8 buffer[8192];
...
do {
zfile_fread (name + i, 1, 1, z);
} while (name[i++]);
...
<*来源:Luigi Auriemma (
aluigi@pivx.com)
链接:
http://marc.info/?l=bugtraq&m=119826646424987&w=2
http://secunia.com/advisories/28208/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://aluigi.org/poc/winuaebof.zip建议:
厂商补丁:
WinUAE
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.winuae.net/files/WinUAE1450.zip浏览次数:2536
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |