Fake Identd远程缓冲区溢出漏洞 CVE-2002-1792 CNNVD-200212-181

10.0 AV AC AU C I A
发布: 2002-12-31
修订: 2017-07-12

Fake Identd是一款小型的使用静态应答的Ident服务程序。 Fake Identd对客户端的查询缺少正确的边界缓冲检查,远程攻击者可以利用这个漏洞进行远程缓冲区溢出攻击。 Fake Identd对客户端的查询存储在静态全局20个字节的缓冲中,相关的代码类似如下: len = 0; for(;;) { if ((l = read(s, buf + len, sizeof buf)) > 0) { if (query_looks_valid(buf)) { reply(s, buf); } } else if (len + l == sizeof buf) { goto abort; } else { len += l; } } 上面的代码对缓冲的边界检查不是很充分,通过把数据分离在两个或者多个数据包中,(len + l == sizeof buf)的检查很容易被绕过。 另外,Reply()函数调用fdprint()函数也存在一个固定的缓冲区分配,而进行填充的时候没有进行边界检查,这个缓冲由全局指针(identuser)的值填充,也可以造成缓冲溢出。 攻击者精心构建查询的数据可导致以Fake Identd进程的权限在系统中执行任意指令。

0%
当前有2条漏洞利用/PoC
当前有6条受影响产品信息