KTools远程缓冲区溢出漏洞

2008-04-09 04:17:15来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

KTools远程缓冲区溢出漏洞

发布日期:2005-11-28
更新日期:2005-11-28

受影响系统:
ktools ktools <= 0.3
Centericq Centericq 4.21
Centericq Centericq 4.20
描述:
BUGTRAQ ID: 15600

ktools是用于提供各种文本模式用户界面控制的函数库。

ktools的kkstrtext.h中存在缓冲区溢出漏洞:

#define VGETSTRING(c, fmt)
{
va_list vgs__ap; char vgs__buf[1024];
va_start(vgs__ap, fmt);
vsprintf(vgs__buf, fmt, vgs__ap); c = vgs__buf;
va_end(vgs__ap);
}

攻击者可以通过发送超长字符串导致执行任意代码。例如,在centericq中攻击者可以以超过1024个字符的字段编辑联系人信息导致溢出,获得非授权访问。

<*来源:Mehdi Oudad
Kevin Fernandez

链接:http://www.zone-h.org/en/advisories/read/id=8480/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

- centericq.cc :

case ACT_EDITUSER:
c->save();
/***************** here************/
if(face.updatedetails(c, c->getdesc().pname)) {
if(c->getdesc().pname == infocard)
c->setdispnick(c->getnick());

...
...

- icqdialogs.cc :

bool icqface::updatedetails(icqcontact *c, protocolname upname) {

...
...
while(!finished) {;
gendetails(db.gettree(), c);
...
...


gendetails()
..
if((capab.count(hookcapab::flexiblereg) && ri.params.empty()) || !capab.count(hookcapab::flexiblereg)) {
i = tree->addnode(_(" About "));

tree->addleaff(i, 0, 39, " %s ", about.c_str());

- treeview.cc :

int treeview::addleaff(int parent, int color, int ref, const char *fmt, ...) {
string buf;
VGETSTRING(buf, fmt);
return addleaf(parent, color, (void *) ref, buf);
}

- kkstrtext.h :

#define VGETSTRING(c, fmt)
{
va_list vgs__ap; char vgs__buf[1024];
va_start(vgs__ap, fmt);
vsprintf(vgs__buf, fmt, vgs__ap); c = vgs__buf;
va_end(vgs__ap);
}

建议:
厂商补丁:

ktools
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://konst.org.ua/ktools

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:QNX Neutrino本地权限提升漏洞

下一篇:Microsoft Windows MSDTC内存破坏漏洞(MS05-051)