IRCit是一款IRC客户端程序,可使用在多种Linux和Unix操作系统下。 IRCit中对服务器传送的数据缺少正确的边界检查,远程攻击者可以利用此漏洞进行缓冲区溢出攻击,可能导致以IRCit进程的权限在目标系统上执行任意指令。 问题存在于IRCit serverr.c代码中: ... STD_IRC_SERVER(sINVITE) { char *n, *h, *v; if (n=splitn(&from), !from) from=\"*@*\"; if (v=splitw(&rest), ((rest)&&(*rest==\'\':\'\'))) rest++; if ((mt_ptr->c_ignore&IG_INVITE)==0) { char s[MAXHOSTLEN]; FIXIT(from); sprintf (s, \"\\%s!\\%s\", n, from); ... 其中把from数据送给给固定的缓冲区时没有进行正确检查,攻击者可以伪造IRC服务器信息,发送恶意构建的INVITE命令可触发客户端coredump,精心构建INVITE命令数据可能导致以IRCit进程的权限在目标系统上执行任意指令。
IRCit是一款IRC客户端程序,可使用在多种Linux和Unix操作系统下。 IRCit中对服务器传送的数据缺少正确的边界检查,远程攻击者可以利用此漏洞进行缓冲区溢出攻击,可能导致以IRCit进程的权限在目标系统上执行任意指令。 问题存在于IRCit serverr.c代码中: ... STD_IRC_SERVER(sINVITE) { char *n, *h, *v; if (n=splitn(&from), !from) from=\"*@*\"; if (v=splitw(&rest), ((rest)&&(*rest==\'\':\'\'))) rest++; if ((mt_ptr->c_ignore&IG_INVITE)==0) { char s[MAXHOSTLEN]; FIXIT(from); sprintf (s, \"\\%s!\\%s\", n, from); ... 其中把from数据送给给固定的缓冲区时没有进行正确检查,攻击者可以伪造IRC服务器信息,发送恶意构建的INVITE命令可触发客户端coredump,精心构建INVITE命令数据可能导致以IRCit进程的权限在目标系统上执行任意指令。