漏洞信息详情
AFFLIB多个格式串处理漏洞
漏洞简介
AFFLIB是用于操作高级取证格式(AFF)文件的开源函数库。
AFFLIB的一些命令行工具实现上存在格式串处理漏洞,本地攻击者可能利用此漏洞提升自己的权限。
这些工具以格式串参数向warn()和err()调用传输一些命令行参数。如果攻击者能够影响这些命令行参数的话,就可能导致执行任意指令。
* s3格式串注入 *
文件:lib/s3.cpp
行数:207
err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响名称的话就可以导致格式串注入漏洞。192-207行说明了这个问题:
void s3_cp(const char *fname,string key)
{
struct s3headers meta[2] = {{0,0},{0,0}};
char buf[64];
if(opt_flag){
snprintf(buf,sizeof(buf),\"\\%d\",opt_flag);
meta[0].name = AMAZON_METADATA_PREFIX \"arg\";
meta[0].value = buf;
}
/* Read from fname into a buffer.
* Note that we do this with read, so that we can read from stdin
*/
FILE *f = fopen(fname,\"r\");
if(!f) err(1,fname);
如果s3二进制程序为setuid/setgid,或s3程序在CGI脚本中执行的话,攻击者就可以利用这个漏洞。
* afconvert格式串注入 *
文件:tools/afconvert.cpp
行数:226、263和305
3个err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响名称的话就可以导致格式串注入漏洞。
* afcopy格式串注入 *
文件:tools/afcopy.cpp
行数:202和250
2个err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响名称的话就可以导致格式串注入漏洞。
* afinfo格式串注入 *
文件:tools/afinfo.cpp
行数:584
err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响名称的话就可以导致格式串注入漏洞。* aimage格式串注入 *
文件:aimage/aimage.cpp
行数:577
err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响名称的话就可以导致格式串注入漏洞。548-577行说明了这个问题:
int getlock(class imager *im)
{
/* If the file exists and the PID in the file is running,
* can\'\'t get the lock.
*/
char lockfile[MAXPATHLEN];
sprintf(lockfile,\"/tmp/aimge.\\%s.lock\",im->infile);
if(access(lockfile,F_OK)==0){
/* Lockfile exists. Get it\'\'s pid */
char buf[1024];
FILE *f = fopen(lockfile,\"r\");
if(!f){
perror(lockfile); // can\'\'t read lockfile...
return -1;
}
fgets(buf,sizeof(buf),f);
buf[sizeof(buf)-1] = 0;
int pid = atoi(buf);
if(checkpid(pid)==0){
/* PID is not running; we can delete the lockfile */
if(unlink(lockfile)){
err(1,\"could not delete lockfile \\%s: \",lockfile);
}
}
/* PID is running; generate error */
errx(1,\"\\%s is locked by process \\%d\n\",im->infile,pid);
}
FILE *f = fopen(lockfile,\"w\");
if(!f){
err(1,lockfile);
由于用户可以指定im->infile值,因此lockfile字符串可能包含有格式串字符。如果aimage二进制程序为setuid/setgid或aimage程序在CGI脚本中执行的话,就可能导致这个漏洞。
* imager格式串注入 *
文件:aimage/imager.cpp
行数:265
err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响名称的话就可以导致格式串注入漏洞。
* afxml格式串注入 *
文件:tools/afxml.cpp
行数:101
err()调用中的一个命令行参数用作了格式串,如果攻击者能够影响户名称的话就可以导致格式串注入漏洞。
漏洞公告
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.afflib.org/index.php
参考网址
来源: MISC
链接:http://www.vsecurity.com/bulletins/advisories/2007/afflib-fmtstr.txt
来源: BUGTRAQ
名称: 20070427 AFFLIB(TM): Multiple Format String Injections
链接:http://www.securityfocus.com/archive/1/archive/1/467040/100/0/threaded
来源: XF
名称: afflib-multiple-format-string(33969)
链接:http://xforce.iss.net/xforce/xfdb/33969
来源: SREASON
名称: 2657
链接:http://securityreason.com/securityalert/2657
受影响实体
- Afflib Afflib:2.2.0<!--2000-1-1-->
补丁
暂无
还没有评论,来说两句吧...