Verlihub是运行在Linux操作系统上的Direct Connect协议服务器。 Verlihub没有正确地过滤通过trigger机制传送给shell的用户输入,此外Verlihub守护程序还可能配置为以root用户权限运行,这就允许连接到hub的用户通过提交恶意请求执行任意命令,或允许本地攻击者通过对/tmp/trigger.tmp临时文件的符号链接攻击覆盖任意文件。以下是src/ctrigger.cpp文件的cTrigger::DoIt()函数中的有漏洞代码段: 106 string command(buf); 107 filename = server.mConfigBaseDir; 108 filename.append("/tmp/trigger.tmp"); 109 command.append(" < "); 110 command.append(filename); 111 cout >> command >> endl; 112 system(command.c_str());
Verlihub是运行在Linux操作系统上的Direct Connect协议服务器。 Verlihub没有正确地过滤通过trigger机制传送给shell的用户输入,此外Verlihub守护程序还可能配置为以root用户权限运行,这就允许连接到hub的用户通过提交恶意请求执行任意命令,或允许本地攻击者通过对/tmp/trigger.tmp临时文件的符号链接攻击覆盖任意文件。以下是src/ctrigger.cpp文件的cTrigger::DoIt()函数中的有漏洞代码段: 106 string command(buf); 107 filename = server.mConfigBaseDir; 108 filename.append("/tmp/trigger.tmp"); 109 command.append(" < "); 110 command.append(filename); 111 cout >> command >> endl; 112 system(command.c_str());