White_Dune是VRML97文件的开源编辑器和查看器。 White_Dune的实现上存在多个安全漏洞,远程攻击者可能利用此漏洞控制用户系统。 ----------------------------------- Scene::errorf缓冲区溢出 ----------------------------------- 用于创建解析WRL文件中所出现问题的错误消息的函数中存在缓冲区溢出漏洞。以下是Scene.cpp文件中的漏洞代码: void Scene::errorf(const char *fmt, ...) { va_list ap; char buf[1024], buf2[1024]; const char *url = ""; va_start(ap, fmt); vsprintf(buf, fmt, ap); if (TheApp->getImportURL() != NULL) url = TheApp->getImportURL(); mysnprintf(buf2, 1024, "%s %d: %s", url, lineno, buf); _compileErrors += buf2; } ------------------------------
White_Dune是VRML97文件的开源编辑器和查看器。 White_Dune的实现上存在多个安全漏洞,远程攻击者可能利用此漏洞控制用户系统。 ----------------------------------- Scene::errorf缓冲区溢出 ----------------------------------- 用于创建解析WRL文件中所出现问题的错误消息的函数中存在缓冲区溢出漏洞。以下是Scene.cpp文件中的漏洞代码: void Scene::errorf(const char *fmt, ...) { va_list ap; char buf[1024], buf2[1024]; const char *url = ""; va_start(ap, fmt); vsprintf(buf, fmt, ap); if (TheApp->getImportURL() != NULL) url = TheApp->getImportURL(); mysnprintf(buf2, 1024, "%s %d: %s", url, lineno, buf); _compileErrors += buf2; } ------------------------------