CVE(CAN) ID: CVE-2009-2732
ntop是一个用来监视和分析unix系统网络使用状况的工具。
ntop在解析Basic认证的HTTP头时存在空指针应用漏洞。在接收到认证报文后ntop会base64解码值,然后基于冒号进行拆分。如果解码的字符串中不存在冒号,就会对用户名使用默认的NULL值。由于在认证过程中使用strlen()计算用户名的长度,在处理到空的值时会触发分段错误。以下是有漏洞的代码段:
static int checkHTTPpassword(char theRequestedURL,
int theRequestedURLLen UNUSED,
char thePw, int thePwLen) {
char outBuffer[65], tmpOutBuffer[65], *user = NULL, users[LEN_GENERAL_WORK_BUFFER];
.
.
.
if(outBuffer[i] == ‘:’) {
outBuffer[i] = ‘\0’;
user = outBuffer;
break;
}
.
.
.
if(strlen(user) >= sizeof(theHttpUser)) user[sizeof(theHttpUser)-1] = ‘\0’;
.
.
.
ntop <= 3.3.10
厂商补丁:
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: