SLocate路径分配整数溢出导致堆破坏漏洞

漏洞信息详情

SLocate路径分配整数溢出导致堆破坏漏洞

漏洞简介

slocate是一款查找文件和目录的工具,slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
slocate当处理环境变量SLOCATE_PATH数据时存在问题,本地攻击者可以利用这个漏洞进行基于堆的溢出,可能以root用户权限在系统上执行任意指令。
问题存在于main.c中的parse_decode_path函数,此函数通过getenv(\”LOCATE_PATH\”)获得环境变量,但是此变量的分配可以由外部用户控制,如:
while ((part = strchr(part+1, \’\’:\’\’))) i++;
上面的part可以由用户提供,并可以使i为一个非常大的值,当后续进行malloc()操作的时:
SLOCATE_PATH = malloc(i * sizeof(char *));
就可以导致malloc()分配过小而发生基于堆的整数溢出,精心构建提交数据可能以root用户权限在系统上执行任意指令。

漏洞公告

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

参考网址

来源: BUGTRAQ
名称: 20030519 bazarr slocate
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=105337692202626&w=2

来源: BID
名称: 7629
链接:http://www.securityfocus.com/bid/7629

受影响实体

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享