【ChinaBeta.Cn 网络安全】
受影响系统: Stephen F. White White_Dune <= 0.29 beta791
不受影响系统: Stephen F. White White_Dune 0.29 beta795
描述:
BUGTRAQ ID: 27102
White_Dune是VRML97文件的开源编辑器和查看器。
White_Dune的实现上存在多个安全漏洞,远程攻击者可能利用此漏洞控制用户系统。
----------------------------------- A] 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; }
------------------------------ B] ImportFile格式串漏洞 ------------------------------
在创建了错误消息后,parse()函数会立即返回,然后调用swDebugf()以便将错误消息呈现给stderr或调试器,但没有使用必须的格式参数。以下是DuneApp.cpp中的漏洞代码:
DuneApp::ImportFile(const char *openpath, Scene* scene, bool protoLibrary, Node *node, int field) ... if (errors[0]) { swMessageBox(_mainWnd, errors, "Parse Errors", SW_MB_OK, SW_MB_WARNING); swDebugf(errors); ...
厂商补丁:
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://129.69.35.12/dune/white_dune-0.29beta795.tar.gz
(责任编辑:hahack)
注:本站所有资料均为个人爱好与广大网友分享!如用于非法!造成一切后果自负·与本站无关! |